Ini cukup mudah, menggunakan jdk6 setidaknya ...
bash $ keytool -keystore foo.jks -genkeypair -alias foo \
-nama 'CN = foo.example.com, L = Melbourne, ST = Victoria, C = AU'
Masukkan kata sandi keystore:
Masukkan kembali kata sandi baru:
Masukkan kata sandi kunci untuk
(KEMBALI jika sama dengan kata sandi keystore):
bash $ keytool -keystore foo.jks -exportcert -alias foo | \
openssl x509-informasikan der -text
Masukkan kata sandi keystore: asdasd
Sertifikat:
Data:
Versi: 3 (0x2)
Nomor Seri: 1237334757 (0x49c03ae5)
Algoritma Tanda Tangan: dsaWithSHA1
Penerbit: C = AU, ST = Victoria, L = Melbourne, CN = foo.example.com
Keabsahan
Tidak Sebelum: Mar 18 00:05:57 2009 GMT
Not After: Jun 16 00:05:57 2009 GMT
Subjek: C = AU, ST = Victoria, L = Melbourne, CN = foo.example.com
Info Kunci Publik Subjek:
Algoritma Kunci Publik: dsaEncryption
Kunci Publik DSA:
pub:
00: e2: 66: 5c: e0: 2e: da: e0: 6b: a6: aa: 97: 64: 59: 14:
7e: a6: 2e: 5a: 45: f9: 2f: b5: 2d: f4: 34: 27: e6: 53: c7:
bash $ keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcstoretype jks \
-deststoretype pkcs12
Masukkan kata sandi tujuan utama:
Masukkan kembali kata sandi baru:
Masukkan kata sandi keystore sumber:
Entri untuk alias foo berhasil diimpor.
Perintah impor selesai: 1 entri berhasil diimpor, 0 entri gagal atau dibatalkan
bash $ openssl pkcs12 -dalam foo.p12 -keluar dari foo.pem
Masukkan Kata Sandi Impor:
MAC terverifikasi OK
Masukkan frase pass PEM:
Memverifikasi - Masukkan frase pass PEM:
bash $ openssl x509 -text -in foo.pem
Sertifikat:
Data:
Versi: 3 (0x2)
Nomor Seri: 1237334757 (0x49c03ae5)
Algoritma Tanda Tangan: dsaWithSHA1
Penerbit: C = AU, ST = Victoria, L = Melbourne, CN = foo.example.com
Keabsahan
Tidak Sebelum: Mar 18 00:05:57 2009 GMT
Not After: Jun 16 00:05:57 2009 GMT
Subjek: C = AU, ST = Victoria, L = Melbourne, CN = foo.example.com
Info Kunci Publik Subjek:
Algoritma Kunci Publik: dsaEncryption
Kunci Publik DSA:
pub:
00: e2: 66: 5c: e0: 2e: da: e0: 6b: a6: aa: 97: 64: 59: 14:
7e: a6: 2e: 5a: 45: f9: 2f: b5: 2d: f4: 34: 27: e6: 53: c7:
bash $ openssl dsa -text -in foo.pem
baca kunci DSA
Masukkan frase pass PEM:
Kunci Pribadi: (1024 bit)
priv:
00: 8f: b1: af: 55: 63: 92: 7c: d2: 0f: e6: f3: a2: f5: ff:
1a: 7a: fe: 8c: 39: dd
pub:
00: e2: 66: 5c: e0: 2e: da: e0: 6b: a6: aa: 97: 64: 59: 14:
7e: a6: 2e: 5a: 45: f9: 2f: b5: 2d: f4: 34: 27: e6: 53: c7:
Anda berakhir dengan:
- foo.jks - keystore dalam format java.
- foo.p12 - keystore dalam format PKCS # 12.
- foo.pem - semua kunci dan sertifikat dari keystore, dalam format PEM.
(File terakhir ini dapat dibagi menjadi beberapa kunci dan sertifikat jika Anda mau.)
Ringkasan perintah - untuk membuat keystore JKS:
keytool -keystore foo.jks -genkeypair -alias foo \
-dname 'CN=foo.example.com,L=Melbourne,ST=Victoria,C=AU'
Ringkasan perintah - untuk mengonversi JKS keystore menjadi PKCS # 12 keystore, lalu ke file PEM:
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcstoretype jks \
-deststoretype pkcs12
openssl pkcs12 -in foo.p12 -out foo.pem
jika Anda memiliki lebih dari satu sertifikat di keystore JKS Anda, dan Anda hanya ingin mengekspor sertifikat dan kunci yang terkait dengan salah satu alias, Anda dapat menggunakan variasi berikut:
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcalias foo \
-srcstoretype jks \
-deststoretype pkcs12
openssl pkcs12 -in foo.p12 -out foo.pem
Ringkasan perintah - untuk membandingkan JKS keystore ke file PEM:
keytool -keystore foo.jks -exportcert -alias foo | \
openssl x509 -inform der -text
openssl x509 -text -in foo.pem
openssl dsa -text -in foo.pem