- Saya mengekstraksi sertifikat menggunakan perintah SSL / ekspor Chrome.
- Kemudian berikan itu sebagai input ke openvpn - dalam konfigurasi untuk openvpn:
pkcs12 "path/to/pkcs12_container"
- Saat memanggilnya
openvpn ~/openvp_config
meminta kata sandi untuk kunci pribadi (yang saya masukkan saat mengekspor menggunakan Chrome):
Enter Private Key Password:...
- Saya ingin menghapus permintaan kata sandi ini.
Pertanyaannya: bagaimana cara menghapus kata sandi untuk kunci privat dari pkcs12?
Artinya, buat file pkcs12 yang tidak memerlukan kata sandi.
(Sepertinya saya sudah melakukan ini setahun yang lalu, dan sekarang melupakannya. Sial.)
ssl-certificate
openssl
Ayrat
sumber
sumber
./remove_pass_from_cert.sh YourCertName YourCertPass
Jawaban:
Itu bisa dicapai dengan berbagai
openssl
panggilan.Pertama, ekstrak sertifikat:
Kedua, kunci CA:
Sekarang, kunci pribadi:
Sekarang hapus frasa sandi:
Menyatukan semuanya untuk File-PKCS baru:
Dan buat file baru:
Sekarang Anda memiliki file kunci PKCS12 baru tanpa frasa sandi di bagian kunci pribadi.
sumber
ca-cert.ca
?-nodes
diabaikan ketika-export
digunakan, tidak didokumentasikan untuk kasus ini (lihat halaman man openssl,-nodes
hanya terdaftar saat mengekspor dari PKCS # 12 ke PEM). Panggilan terakhir Anda masih meminta saya untuk kata sandi ekspor. Dan jika saya tekan kembali, saya mendapatkan file PKCS # 12 yang kata sandinya adalah string kosong dan bukan file tanpa kata sandi. Ketika saya melakukannyaopenssl pkcs12 -in "NewPKCSWithoutPassphraseFile"
masih meminta saya untuk kata sandi impor. Saya hanya bisa menekan kembali dan itu berfungsi tetapi jika tidak ada kata sandi, itu bahkan tidak akan meminta.Solusi paling sederhana yang saya temukan adalah
Ekspor ke file pem sementara
Ubah pem kembali ke p12
Hapus sertifikat sementara
sumber
keytool -v -list -storetype pkcs12 -keystore unprotected.p12
akan memancarkan peringatan dan TIDAK akan mencantumkan sertifikat. Jadi itu mungkin bekerja untuk OpenVPN, tetapi tidak untuk hal lain.Ini dapat dengan mudah dilakukan dalam satu langkah tanpa file sementara:
openssl pkcs12 -in "PKCSFile" -nodes | openssl pkcs12 -export -out "PKCSFile-Nopass"
Jawab prompt Impor Kata Sandi dengan kata sandi. Jawab permintaan Passowrd Ekspor dengan <CR>
Selesai
Perhatikan bahwa ini menangani sejumlah sertifikat menengah yang mungkin ada dalam bundel ...
Saya sangat menyarankan untuk berhati-hati dengan file yang dihasilkan; itu akan menjadi ide yang baik untuk mengatur umask ke 377 pertama (non-unix: ini berarti hanya pemilik yang dapat membaca file yang dibuat.) Saya kira itu 2 langkah, jika umask default Anda permisif ...
sumber
Sekarang, kunci pribadi:
Hapus sekarang frasa sandi:
2 langkah dapat diganti dengan
sumber
Tak satu pun dari ini bekerja untuk saya. Pada akhirnya saya kembali ke kode dotNet yang berfungsi pertama kali.
sumber