Siapa pun dapat memberitahu saya cara yang benar/perintah untuk mengambil/mengubah sertifikat .crt
dan private key .tombol
file .pem
file? Saya baru saja membaca mereka dipertukarkan, tetapi tidak seberapa.
Mengkonversi Menggunakan OpenSSL Perintah ini memungkinkan anda untuk mengkonversi sertifikat dan kunci untuk format yang berbeda untuk membuat mereka kompatibel dengan jenis tertentu dari server atau perangkat lunak.
openssl rsa -in pribadi.pem-pubout > publik.pem atau
openssl rsa -in pribadi.pem-pubout -publik.pem
Anda akan sekarang memiliki umum.pem hanya berisi kunci publik anda, anda dapat dengan bebas berbagi ini dengan pihak ke-3. Anda dapat menguji itu semua dengan hanya mengenkripsi sesuatu sendiri menggunakan kunci publik anda dan kemudian mendekripsi menggunakan kunci pribadi anda, pertama-tama kita perlu sedikit data untuk mengenkripsi:
- Contoh file : echo 'terlalu banyak rahasia' > file.txt
- Anda sekarang memiliki beberapa data di file.txt, memungkinkan mengenkripsi menggunakan OpenSSL dan kunci publik: openssl rsautl -encrypt -inkey publik.pem-pubin -di file.txt -keluar file.ssl
- Ini menciptakan dienkripsi versi file.txt panggilan itu file.ssl, jika anda melihat file ini hanya biner sampah, ada yang sangat berguna untuk siapa-siapa. Sekarang anda dapat membatalkan enkripsi menggunakan kunci pribadi: openssl rsautl -decrypt -inkey pribadi.pem-di file.ssl -out ekspres decrypted.txt
- Anda sekarang akan memiliki sebuah file terenkripsi di decrypted.txt: kucing decrypted.txt |output -> terlalu banyak rahasia RSA ALAT Pilihan di OpenSSL
- ****NAMA rsa RSA kunci alat pengolahan
- SINOPSIS openssl rsa [help] [-menginformasikan PEM|NET|DER] [-outform PEM|NET|DER] [-dalam nama file] [-passin arg] [-keluar filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [des] [-des3] [-ide] [teks] [-noout] [-modulus] [periksa] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-mesin id]
- DESKRIPSI rsa perintah proses kunci RSA. Mereka dapat dikonversi antara berbagai bentuk dan komponen mereka dicetak. Catatan perintah ini menggunakan tradisional SSLeay format yang kompatibel untuk enkripsi kunci pribadi: baru aplikasi harus menggunakan lebih aman PKCS#8 format menggunakan pkcs8 utilitas.
- PILIHAN PERINTAH -membantu Cetak pesan penggunaan. -menginformasikan DER|NET|PEM Ini menentukan input format. DER pilihan menggunakan ASN1 DER dikodekan bentuk kompatibel dengan PKCS#1 RSAPrivateKey atau SubjectPublicKeyInfo format. PEM bentuk format default: terdiri dari DER format base64 encoded dengan tambahan header dan footer garis. Pada input PKCS#8 format kunci pribadi juga diterima. NET adalah bentuk format yang dijelaskan di bagian CATATAN. -outform DER|NET|PEM Ini menentukan format output, pilihan memiliki arti yang sama seperti yang menginformasikan pilihan. -pada nama file Ini menentukan input nama file untuk membaca kunci dari atau standar input jika opsi ini tidak ditentukan. Jika kunci enkripsi yang lulus frase akan diminta untuk. -passin arg input password file sumber. Untuk informasi lebih lanjut tentang format arg seperti FRASA ARGUMEN bagian dalam openssl. -keluar nama file Ini menentukan nama file output untuk menulis sebuah kunci atau output standar jika opsi ini tidak ditentukan. Jika ada opsi enkripsi diatur kemudian lulus frase akan diminta untuk. Output filename tidak harus sama seperti input nama file. -passout password output password file sumber. Untuk informasi lebih lanjut tentang format arg seperti FRASA ARGUMEN bagian dalam openssl. -aes128|-aes192|-aes256|-camellia128|-camellia192|-camellia256|-des|-des3|-ide pilihan Ini mengenkripsi kunci pribadi dengan yang ditentukan cipher sebelum keluaran itu. Frasa ini diminta untuk. Jika tidak ada pilihan ini ditentukan kunci ditulis dalam teks biasa. Ini berarti bahwa menggunakan rsa utilitas untuk membaca di sebuah kunci yang dienkripsi dengan enkripsi tidak dapat digunakan untuk menghapus frase lulus dari kunci, atau dengan menetapkan opsi enkripsi dapat digunakan untuk menambahkan atau mengubah frase lulus. Pilihan ini hanya dapat digunakan dengan PEM format file output. -teks cetakan berbagai publik atau swasta komponen kunci dalam teks biasa selain dikodekan versi. -noout pilihan ini mencegah output dari dikodekan versi kunci. -modulus pilihan ini akan mencetak nilai modulus kunci. -cek pilihan ini memeriksa konsistensi dari RSA private key. -pubin secara default sebuah kunci pribadi adalah membaca dari berkas masukan: dengan opsi ini kunci publik adalah membaca, bukan. -pubout secara default sebuah kunci pribadi adalah output: dengan opsi ini kunci publik yang akan menjadi output sebagai gantinya. Opsi ini secara otomatis mengatur jika input adalah kunci publik. -RSAPublicKey_in, -RSAPublicKey_out seperti -pubin dan -pubout kecuali RSAPublicKey format ini digunakan sebagai gantinya. -mesin id menentukan sebuah mesin (dengan id unik string) akan menyebabkan rsa untuk mencoba untuk mendapatkan fungsional referensi yang ditentukan mesin, sehingga inisialisasi itu jika diperlukan. Mesin kemudian akan ditetapkan sebagai default untuk semua algoritma.
- CATATAN PEM kunci pribadi menggunakan format header dan footer garis: -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- PEM kunci publik menggunakan format header dan footer garis: -----BEGIN KUNCI PUBLIK----- -----END PUBLIC KEY----- PEM RSAPublicKey format menggunakan header dan footer garis: -----BEGIN RSA KUNCI PUBLIK----- -----END RSA KUNCI PUBLIK----- The NET adalah bentuk format yang kompatibel dengan yang lebih tua Netscape server dan Microsoft IIS .kunci file ini menggunakan tawar RC4 untuk enkripsi. Itu sangat tidak aman dan harus digunakan hanya bila diperlukan. Beberapa versi yang lebih baru dari IIS memiliki data tambahan dalam diekspor .kunci file. Untuk menggunakan ini dengan utilitas, melihat file dengan editor biner dan mencari string "pribadi-kunci", kemudian melacak kembali ke urutan byte 0x30, 0x82 (ini adalah ASN1 URUTAN). Copy semua data dari titik ini dan seterusnya untuk file lain dan menggunakannya sebagai masukan untuk rsa utilitas dengan -menginformasikan NET opsi. CONTOH Untuk menghapus frasa pada RSA private key: openssl rsa -in kunci.pem-out keyout.pem Untuk mengenkripsi kunci pribadi menggunakan triple DES: openssl rsa -in kunci.pem-des3-out keyout.pem Untuk mengkonversi sebuah kunci pribadi dari PEM untuk DER format: openssl rsa -in kunci.pem-outform DER -keluar keyout.der Untuk mencetak komponen-komponen dari sebuah kunci pribadi untuk output standar: openssl rsa -in kunci.pem-teks -noout Hanya output bagian umum dari sebuah kunci pribadi: openssl rsa -in kunci.pem-pubout -keluar pubkey.pem Output bagian umum dari kunci private di RSAPublicKey format: openssl rsa -in kunci.pem-RSAPublicKey_out -keluar pubkey.pem
Untuk mengekstrak kunci dan cert dari pem file:
openssl pkey -in foo.pem -out foo.key
Metode lain untuk mengekstrak kunci...
openssl rsa -in foo.pem -out foo.key
openssl crl2pkcs7 -nocrl -certfile foo.pem | openssl pkcs7 -print_certs -out foo.cert
openssl x509 -in foo.pem -outform DER -out first-cert.der
A .crt toko sertifikat.. dalam format pem. Jadi .pem, sementara itu juga dapat memiliki hal-hal lain seperti csr (Certificate signing request), kunci privat, kunci publik, atau lainnya sertifikat, ketika itu menyimpan hanya cert, adalah hal yang sama seperti yang .crt.
Pem merupakan basis 64 file yang dikodekan dengan header dan footer antara masing-masing bagian.
Untuk mengekstrak bagian tertentu, perl script seperti berikut ini yang benar-benar valid, tetapi merasa bebas untuk menggunakan beberapa perintah openssl.
perl -ne "\$n++ if /BEGIN/; print if \$n == 1 && /BEGIN/.../END/;" mydomain.pem
mana ==1 dapat diubah untuk yang pernah bagian anda butuhkan. Jelas jika anda tahu persis header dan footer yang anda butuhkan dan hanya ada satu orang di dalam file tersebut (biasanya terjadi jika anda terus hanya cert dan key di sana), anda dapat menyederhanakan ini:
perl -ne "print if /^-----BEGIN CERTIFICATE-----\$/.../END/;" mydomain.pem
Jika anda mengajukan pertanyaan ini karena anda're menggunakan mkcert
maka kuncinya adalah bahwa .pem
file cert dan key.pem` file adalah kunci.
(Anda don't perlu mengkonversi, hanya menjalankan mkcert yourdomain.dev otherdomain.dev
)