- Wyodrębniłem certyfikat za pomocą polecenia SSL / eksportu Chrome.
- Następnie podał go jako dane wejściowe do openvpn - w konfiguracji dla openvpn:
pkcs12 "path/to/pkcs12_container"
- Podczas dzwonienia
openvpn ~/openvp_config
prosi o hasło do klucza prywatnego (który wprowadziłem podczas eksportowania za pomocą Chrome):
Enter Private Key Password:...
- Chcę usunąć to żądanie hasła.
Pytanie: jak usunąć hasło do klucza prywatnego z pkcs12?
To znaczy, stwórz plik pkcs12, który nie wymaga hasła.
(wydaje się, że już jakoś to zrobiłem rok temu, a teraz zapomniałem.damn.)
ssl-certificate
openssl
Ayrat
źródło
źródło
./remove_pass_from_cert.sh YourCertName YourCertPass
Odpowiedzi:
Można to osiągnąć za pomocą różnych
openssl
połączeń.Najpierw wypakuj certyfikat:
Po drugie, klucz CA:
Teraz klucz prywatny:
Teraz usuń hasło:
Złóż wszystko razem dla nowego pliku PKCS:
I utwórz nowy plik:
Teraz masz nowy plik klucza PKCS12 bez hasła w części klucza prywatnego.
źródło
ca-cert.ca
?-nodes
jest ignorowany, gdy-export
jest używany, nie jest udokumentowany w tym przypadku (patrz strona man openssl,-nodes
jest wymieniony tylko podczas eksportu z PKCS # 12 do PEM). Ostatnie połączenie nadal monituje mnie o hasło eksportu. A jeśli właśnie wrócę return, otrzymam plik PKCS # 12, którego hasło jest pustym ciągiem, a nie jednym bez hasła. Gdy to zrobięopenssl pkcs12 -in "NewPKCSWithoutPassphraseFile"
, nadal monituje mnie o hasło do importu. Mogę po prostu nacisnąć Return i to działa, ale gdyby nie było hasła, nie byłoby nawet wyświetlane.Najprostszym rozwiązaniem , jakie znalazłem, jest
Eksportuj do tymczasowego pliku pem
Konwertuj pem z powrotem na p12
Usuń tymczasowy certyfikat
źródło
keytool -v -list -storetype pkcs12 -keystore unprotected.p12
wyemituje ostrzeżenie i NIE wyświetli certyfikatu. Może więc działać dla OpenVPN, ale nie dla czegoś innego.Można to łatwo zrobić w jednym kroku bez pliku tymczasowego:
openssl pkcs12 -in "PKCSFile" -nodes | openssl pkcs12 -export -out "PKCSFile-Nopass"
Odpowiedz na pytanie Importuj hasło, podając hasło. Odpowiedz na polecenia Export Passowrd, naciskając <CR>
Gotowy.
Pamiętaj, że obsługuje to dowolną liczbę certyfikatów pośrednich, które mogą znajdować się w pakiecie ...
Zdecydowanie zalecam ostrożność z wynikowym plikiem; dobrym pomysłem byłoby ustawienie najpierw umask na 377 (non-unix: oznacza to, że tylko właściciel może odczytać utworzony plik). Przypuszczam, że to 2 kroki, jeśli domyślny umask jest dozwolony ...
źródło
Teraz klucz prywatny:
Usuń teraz hasło:
Te 2 kroki można zastąpić
źródło
Żadne z tych nie działało dla mnie. W końcu wróciłem do kodu dotNet, który zadziałał za pierwszym razem.
źródło