Saya memiliki file .key yang merupakan file kunci pribadi berformat PEM. Saya tidak membuat file ini tetapi saya mendapatkannya dari suatu tempat.
Saya ingin melihat hash MD5 dengan alat openssl seperti perintah di bawah ini.
openssl rsa -in server.key -modulus -noout
Tapi ini menghasilkan kesalahan di bawah ini.
unable to load Private Key
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY
Berikut beberapa asn1parse dari file .key.
openssl asn1parse -in server.key
0:d=0 hl=4 l= 603 cons: SEQUENCE
4:d=1 hl=2 l= 1 prim: INTEGER :00
7:d=1 hl=3 l= 129 prim: INTEGER :C141201603899993919CBAA56985E9C7
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF
139:d=1 hl=2 l= 3 prim: INTEGER :010001
144:d=1 hl=3 l= 128 prim: INTEGER :1687B9AE67562CEDEBDD7A531B84CDB7
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1
...
Apakah ada hal lain yang bisa saya coba?
openssl
private-key
tkpl
sumber
sumber
scp
menyalin file dari Windows ke Ubuntu. Untuk memperbaikinya, saya menghapus file di Ubuntu, membuat file kosong baru di sana, dan menggunakanvim
lalu menempelkan konten yang benar.Jawaban:
Buka file kunci di Notepad ++ dan verifikasi pengkodeannya. Jika tertulis UTF-8-BOM maka ubah ke UTF-8. Simpan file dan coba lagi.
sumber
Saya mengubah header dan footer file PEM menjadi
dan
Akhirnya, berhasil!
sumber
-inform pem
perintah untuk mendapatkan hasil yang sama. Misopenssl rsa -in server.key -modulus -noout -inform pem
.file .key Anda berisi karakter ilegal. Anda dapat memeriksa file .key seperti ini:
output "server.key: UTF-8 Unicode (with BOM) text" berarti ini adalah teks biasa, bukan file kunci. Keluaran yang benar adalah "server.key: PEM RSA private key".
gunakan perintah di bawah ini untuk menghapus karakter ilegal:
New_server.key harus benar.
Untuk lebih jelasnya bisa klik disini terima kasih atas postingannya.
sumber
file server.key
perintah ini membantu saya mengatasi masalah tersebut. Terima kasih.Bahwa tampaknya OK dengan
asn1parse
membuat saya percaya itu bukan PEM yang dikodekan.Karena tampaknya ASN.1, coba:
Perhatikan
-inform DER
untuk beralih di antara pengkodean.sumber
Buat sertifikat CA
sumber
Hapus spasi apa pun di awal file .key.
sumber
Resolusi di pihak saya. Ubah Encoding ke UTF8 tanpa BOM
sumber
Saya menggunakan Windows 10 dan saya menyimpan kunci saya dengan pengkodean Windows1252 dan itu berhasil untuk saya. Pada pertanyaan StackOverflow lainnya, beberapa orang memperbaiki masalah ini dengan UTF-8 dengan BOM .
Dengan kata lain, itu mungkin file encoding.
sumber
Mungkin kunci privat itu sendiri tidak ada dalam file. Saya juga menghadapi masalah yang sama tetapi masalahnya adalah tidak ada kunci privat yang ada di file.
sumber
ini bisa terjadi jika Anda mencoba menggunakan kunci publik Anda untuk membuat sertifikat alih-alih kunci pribadi Anda. Anda harus menggunakan kunci pribadi
sumber
Memiliki masalah yang sama hari ini, dan memperhatikan bahwa ini terjadi ketika pemilik / grup file bukan aplikasi yang berjalan yang membaca kunci. Mungkin masalah Anda juga.
sumber
Tidak ada jawaban lain yang tampaknya benar dalam kasus saya, namun saya menemukan jawaban sebenarnya di sini
id_rsa
File saya sudah dalam format PEM, saya hanya perlu menambahkan.pem
ekstensi ke nama file.Terimakasih untuk
Opsi yang memungkinkan untuk
openssl rsa -inform
parameter adalah salah satu dari:PEM
DER
sumber
Dalam kasus kami, yang menyebabkan masalah adalah kunci pribadi yang kami coba gunakan dienkripsi dengan frasa sandi.
Kami harus mendekripsi kunci privat menggunakan
ssh-keygen -p
sebelum kami dapat menggunakan kunci privat dengan alat baris perintah openssl.sumber
Mengapa tidak menggunakan bot sertifikat
Memperoleh Sertifikat
sumber