Pengenalan keytool

Java Teratas

Saya baru sahaja mengumumkan kursus Learn Spring yang baru , yang berfokus pada asas-asas Spring 5 dan Spring Boot 2:

>> SEMAK KURSUS

1. Gambaran keseluruhan

Dalam tutorial ringkas ini, kita akan memperkenalkan arahan keytool . Kami akan belajar bagaimana menggunakan keytool untuk membuat sijil baru dan menyemak maklumat untuk sijil itu.

2. Apa itu keytool?

Java menyertakan utiliti keytool dalam siarannya. Kami menggunakannya untuk mengurus kunci dan sijil dan menyimpannya di kedai kunci. The keytool arahan membolehkan kita untuk membuat sijil ditandatangani sendiri dan menunjukkan maklumat mengenai stor itu.

Pada bahagian berikut, kita akan melalui pelbagai fungsi utiliti ini.

3. Membuat Sijil Tandatangan Sendiri

Pertama sekali, mari kita buat sijil yang ditandatangani sendiri yang boleh digunakan untuk mewujudkan komunikasi yang selamat antara projek di persekitaran pembangunan kita, misalnya.

Dalam usaha untuk menjana sijil , kita akan membuka baris arahan yang cepat dan penggunaan keytool arahan dengan -genkeypair pilihan:

keytool -genkeypair -alias  -keypass  -validity  -storepass 

Mari ketahui lebih lanjut mengenai setiap parameter ini:

  • alias - nama untuk sijil kami
  • papan kekunci - kata laluan sijil. Kami memerlukan kata laluan ini untuk mendapat akses ke kunci peribadi sijil kami
  • kesahan - masa (dalam beberapa hari) kesahihan sijil kami
  • storepass - kata laluan untuk kedai kunci. Ini akan menjadi kata laluan kedai kunci jika kedai itu tidak ada

Sebagai contoh, mari buat sijil bernama "cert1" yang mempunyai kunci peribadi "pass123" dan sah selama satu tahun. Kami juga akan menentukan "stpass123" sebagai kata laluan kedai kunci:

keytool -genkeypair -alias cert1 -keypass pass123 -validity 365 -storepass stpass123

Setelah melaksanakan perintah, ia akan meminta beberapa maklumat yang perlu kita berikan:

What is your first and last name? [Unknown]: Name What is the name of your organizational unit? [Unknown]: Unit What is the name of your organization? [Unknown]: Company What is the name of your City or Locality? [Unknown]: City What is the name of your State or Province? [Unknown]: State What is the two-letter country code for this unit? [Unknown]: US Is CN=Name, OU=Unit, O=Company, L=City, ST=State, C=US correct? [no]: yes

Seperti yang disebutkan, jika kita belum membuat kedai kunci sebelum ini, membuat sijil ini akan membuatnya secara automatik.

Kami juga dapat melaksanakan pilihan -genkeypair tanpa parameter. Sekiranya kami tidak memberikannya dalam baris arahan dan mereka wajib, kami akan diminta untuknya.

Perhatikan bahawa secara amnya disarankan untuk tidak memberikan kata laluan ( -keypass atau -storepass ) pada baris perintah dalam persekitaran pengeluaran .

4. Menyenaraikan Sijil di Kedai Kunci

Seterusnya, kami akan belajar bagaimana melihat sijil yang disimpan di kedai kunci kami. Untuk tujuan ini, kami akan menggunakan -Senarai pilihan:

keytool -list -storepass  

Keluaran untuk arahan yang dilaksanakan akan menunjukkan sijil yang telah kami buat:

Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry cert1, 02-ago-2020, PrivateKeyEntry, Certificate fingerprint (SHA1): 0B:3F:98:2E:A4:F7:33:6E:C4:2E:29:72:A7:17:E0:F5:22:45:08:2F

Sekiranya kita ingin mendapatkan maklumat untuk sijil konkrit , kita hanya perlu memasukkan pilihan -alias untuk perintah kita. Untuk mendapatkan maklumat lebih lanjut daripada yang diberikan secara lalai, kami juga akan menambahkan pilihan -v (verbose):

keytool -list -v -alias  -storepass  

Ini akan memberi kita semua maklumat yang berkaitan dengan sijil yang diminta:

Alias name: cert1 Creation date: 02-ago-2020 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Name, OU=Unit, O=Company, L=City, ST=State, C=US Issuer: CN=Name, OU=Unit, O=Company, L=City, ST=State, C=US Serial number: 11d34890 Valid from: Sun Aug 02 20:25:14 CEST 2020 until: Mon Aug 02 20:25:14 CEST 2021 Certificate fingerprints: MD5: 16:F8:9B:DF:2C:2F:31:F0:85:9C:70:C3:56:66:59:46 SHA1: 0B:3F:98:2E:A4:F7:33:6E:C4:2E:29:72:A7:17:E0:F5:22:45:08:2F SHA256: 8C:B0:39:9F:A4:43:E2:D1:57:4A:6A:97:E9:B1:51:38:82:0F:07:F6:9E:CE:A9:AB:2E:92:52:7A:7E:98:2D:CA Signature algorithm name: SHA256withDSA Subject Public Key Algorithm: 2048-bit DSA key Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: A1 3E DD 9A FB C0 9F 5D B5 BE 2E EC E2 87 CD 45 .>.....].......E 0010: FE 0B D7 55 ...U ] ]

5. Ciri-ciri Lain

Selain fungsi yang telah kita lihat, terdapat banyak ciri tambahan yang terdapat dalam alat ini.

Sebagai contoh, kita boleh menghapus sijil yang kita buat dari kedai kunci:

keytool -delete -alias  -storepass 

Contoh lain ialah kita bahkan dapat mengubah alias sijil :

keytool -changealias -alias  -destalias  -keypass  -storepass 

Akhirnya, untuk mendapatkan lebih banyak maklumat mengenai alat ini, kami boleh meminta bantuan melalui baris arahan:

keytool -help

6. Kesimpulannya

Dalam tutorial ringkas ini, kami telah belajar sedikit mengenai utiliti keytool . Kami juga belajar menggunakan beberapa ciri asas yang termasuk dalam alat ini.

Bahagian bawah Java

Saya baru sahaja mengumumkan kursus Learn Spring yang baru , yang berfokus pada asas-asas Spring 5 dan Spring Boot 2:

>> SEMAK KURSUS