最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 使用keytool創(chuàng)建CA證書的操作

 更新時(shí)間:2021年01月30日 14:38:02   作者:江湖人稱小程  
這篇文章主要介紹了Java 使用keytool創(chuàng)建CA證書的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

keytool是一個(gè)密鑰和證書管理工具

1.keytool工具位置

keytool工具在 JDK 的安裝目錄的 bin 目錄下面

2.keytool工具命令展示

打開命令行進(jìn)入 bin 目錄,然后輸入命令 keytool.exe,就能看見keytool工具支持哪些命令,如下圖所示:

注意下面的用法提示:使用 “keytool -command_name -help” 獲取 command_name 的用法

3.查看具體命令用法

這里我們使用 -genkeypair 命令來創(chuàng)建密鑰庫,先來看看 genkeypair 命令的用法,如下圖所示:

4.新建密鑰庫

.\keytool.exe -genkeypair -alias CA -keyalg RSA -validity 30 -keystore D:\keytoolCert\.CAkeystore

4.1.參數(shù)說明

-alias CA: alias表示別名的意思,這里別名為 CA,如果不寫的話,它的默認(rèn)值為 mykey

-keyalg RSA: 密鑰算法名稱,這里使用RSA算法

-validity 30: 有效天數(shù)為30天

-keystore D:\keytoolCert.CAkeystore: 指定密鑰庫存放的位置。

命令輸入過后會(huì)讓我們輸入密碼、唯一判別名(dname)和密鑰口令

注意

密鑰庫的密碼至少必須6個(gè)字符,可以是純數(shù)字或者字母或者數(shù)字和字母的組合等等

名字與姓氏"應(yīng)該是輸入域名,而不是我們的個(gè)人姓名,其他的可以不填

這條命令的完整含義是:使用 keytool.exe ,創(chuàng)建一個(gè)別名為 CA,算法為 RSA,有效天數(shù)為30天的密鑰,并將它存放在 D:\keytoolCert\ 目錄下的一個(gè)名叫 .CAkeystore 的密鑰庫中,如果密鑰庫不存在則自動(dòng)創(chuàng)建。

執(zhí)行完上述命令后,在 D:\keytoolCert\ 目錄下生成了一個(gè)".CAkeystore"的文件,如下圖所示:

5.查看密鑰庫里面的信息

命令如下:

.\keytool.exe -list -keystore D:\keytoolCert\.CAkeystore -v

結(jié)果如下:

5.1.查看密鑰庫信息其他命令

查看密鑰庫中指定密鑰的信息:

keytool.exe -list -alias CA -keystore
“D:\keytoolCert.CAkeystore” -v

6.導(dǎo)出密鑰到證書文件

.\keytool -export -alias CA -file D:\keytoolCert\pendIssueCert_1.cer -keystore D:\keytoolCert\.CAkeystore

執(zhí)行完上述命令后,在 D:\keytoolCert\ 目錄下生成了一個(gè)"pendIssueCert_1.cer"的證書文件,如下圖所示:

7.查看指定證書文件的信息:

keytool.exe -printcert -file D:\keytoolCert\.pendIssueCert_1.cer -v

8.導(dǎo)入證書

將證書文件 pendIssueCert_1.cer 導(dǎo)入到名為 .pendIssuekeystore 的證書庫中

keytool -import -keystore D:\keytoolCert\.pendIssuekeystore -file D:\keytoolCert\pendIssueCert_1.cer

注意:

D:\keytoolCert.pendIssuekeystore 密鑰庫不存在會(huì)自動(dòng)創(chuàng)建

導(dǎo)入時(shí)沒有輸入 -alias 那么它的別名就是 mykey ,如果有需要可以自己指定別名

9.刪除密鑰庫中的條目

刪除密鑰庫 .pendIssuekeystore 中別名為 mykey 的證書條目

keytool -delete -keystore D:\keytoolCert\.pendIssuekeystore -alias mykey

刪除前先查看 有一個(gè)密鑰,刪除后再查看就沒有了,表示刪除成功。

修改證書條目的口令

將密鑰庫 .pendIssuekeystore 中別名為 mykey 的證書條目的密碼修改為 123456

keytool -keypasswd -alias mykey -keystore D:\keytoolCert.pendIssuekeystore

補(bǔ)充:Java Keytool生成數(shù)字證書/.cer/.p12文件

任何機(jī)構(gòu)或者個(gè)人都可以申請(qǐng)數(shù)字證書,并使用由CA機(jī)構(gòu)頒發(fā)的數(shù)字證書為自己的應(yīng)用保駕護(hù)航。常用的兩個(gè)證書管理工具:KeyTool,OpenSSL—>構(gòu)建CSR(Certificate Signing Request,數(shù)字證書簽發(fā)申請(qǐng)),交由CA機(jī)構(gòu)簽發(fā),形成最終的數(shù)字證書。

最近用到p12文件,就記錄一下如何使用jdk自帶的keytool來創(chuàng)建p12文件

創(chuàng)建私鑰和證書

1.打開cmd,切換到j(luò)dk的bin目錄下

2.輸入命令

keytool -genkeypair -alias serverkey -keyalg RSA -keysize 2048 -validity 3650 -keystore C:\Users\i343740\Desktop\p12test.keystore

參數(shù)解釋:

storepass keystore 文件存儲(chǔ)密碼,不加這個(gè)參數(shù)會(huì)在后面要求你輸入密碼

keypass 私鑰加解密密碼

alias 實(shí)體別名(包括證書私鑰)

dname 證書個(gè)人信息

keyalg 采用公鑰算法,默認(rèn)是DSA,這里采用RSA

keysize 密鑰長(zhǎng)度(DSA算法對(duì)應(yīng)的默認(rèn)算法是sha1withDSA,不支持2048長(zhǎng)度,此時(shí)需指定RSA)

validity 有效期

keystore 指定keystore文件儲(chǔ)存位置

3.命令行會(huì)要求你輸入一些信息,這里只是試用,隨意輸一些就可以了

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

4.最后一行: 輸入的密鑰口令,這里因?yàn)槲覀冊(cè)谏厦嬖O(shè)置了一個(gè)密鑰庫的口令,因此這里的口令如果和上面設(shè)置的口令一樣的話,就直接回車就好,如果兩個(gè)口令不一樣,那么我們可以輸入新的口令,回車

5.經(jīng)過上述操作,秘鑰庫中已經(jīng)創(chuàng)建了數(shù)字證書(沒有經(jīng)過CA認(rèn)證),但不影響我們使用。我們可以將數(shù)字證書導(dǎo)出,發(fā)送給合作伙伴進(jìn)行加密交互。

查看keystore詳情

1.輸入命令

keytool -v -list -keystore C:\Users\i343740\Desktop\p12test.keystore

可以看到keystore詳情:

Keystore type: jks
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: serverkey
Creation date: Sep 18, 2018
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=xu, OU=SAP, O=SAP, L=ShangHai, ST=ShangHai, C=CN
Issuer: CN=xu, OU=SAP, O=SAP, L=ShangHai, ST=ShangHai, C=CN
Serial number: 68a01736
Valid from: Tue Sep 18 15:29:16 CST 2018 until: Fri Sep 15 15:29:16 CST 2028
Certificate fingerprints:
   MD5: 6D:02:83:77:1D:8F:80:4A:7E:71:10:E5:D1:F7:DA:A1
   SHA1: 50:A7:46:DE:BC:9E:0E:22:AC:AD:85:63:3D:29:FB:FF:75:66:55:3E
   SHA256: 78:C4:65:71:A2:54:2B:56:2E:7B:8F:16:7D:EB:53:46:4E:9C:0C:AF:55:F8:3E:0C:37:FC:CD:A6:8C:04:9E:84
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
......(還有一些)

導(dǎo)出本地證書(.cer)

1.輸入命令

keytool -exportcert -keystore C:\Users\i343740\Desktop\p12test.keystore -file C:\Users\i343740\Desktop\p12test.cer -alias serverkey

參數(shù)解釋:

-export 表示證書導(dǎo)出操作

-keystore 指定秘鑰庫文件

-file 指定導(dǎo)出文件路徑

-storepass 輸入密碼

-rfc 指定以Base64編碼格式輸出

打印數(shù)字證書

1.輸入命令

Keytool -printcert -file C:\Users\i343740\Desktop\p12test.cer

將.cer格式的證書轉(zhuǎn)換為p12證書

1.輸入命令

keytool -importkeystore -srckeystore C:\Users\i343740\Desktop\p12test.keystore -destkeystore C:\Users\i343740\Desktop\p12test.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -noprompt

2.輸入目標(biāo)密鑰庫口令和源密鑰庫口令即可(目標(biāo)密鑰庫口令指的是我們要為.p12證書設(shè)置的口令,而源密鑰庫口令則指的是我們最初為.cer證書設(shè)置的密鑰庫口令)

P12的兩個(gè)命令:

生成證書:

keytool -genkey -v -alias client -keyalg RSA-storetype PKCS12 -keystore C:\Users\i343740\Desktop\p12test.p12

導(dǎo)出證書:

keytool -export -alias client -keystore C:\Users\i343740\Desktop\p12test.p12-storetype PKCS12 -storepass 123456 -rfc -file C:\Users\i343740\Desktop\p12test.cer

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • java中為什么要謹(jǐn)慎使用Arrays.asList、ArrayList的subList

    java中為什么要謹(jǐn)慎使用Arrays.asList、ArrayList的subList

    這篇文章主要介紹了java中為什么要謹(jǐn)慎使用Arrays.asList、ArrayList的subList,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作

    springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作

    這篇文章主要介紹了springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java創(chuàng)建線程池的7種實(shí)現(xiàn)方法

    java創(chuàng)建線程池的7種實(shí)現(xiàn)方法

    在Java中線程池是一種管理線程的機(jī)制,它可以創(chuàng)建一組線程并重復(fù)使用它們,避免了創(chuàng)建和銷毀線程的開銷,這篇文章主要給大家介紹了關(guān)于java創(chuàng)建線程池的7種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-10-10
  • Spring Boot定時(shí)任務(wù)單線程多線程實(shí)現(xiàn)代碼解析

    Spring Boot定時(shí)任務(wù)單線程多線程實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了Spring Boot定時(shí)任務(wù)單線程多線程實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java模擬QQ桌面截圖功能實(shí)現(xiàn)方法

    Java模擬QQ桌面截圖功能實(shí)現(xiàn)方法

    這篇文章主要介紹了Java模擬QQ桌面截圖功能實(shí)現(xiàn)方法,涉及java針對(duì)鼠標(biāo)事件及圖片操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Springboot和Jpa實(shí)現(xiàn)學(xué)生CRUD操作代碼實(shí)例

    Springboot和Jpa實(shí)現(xiàn)學(xué)生CRUD操作代碼實(shí)例

    這篇文章主要介紹了Springboot和Jpa實(shí)現(xiàn)學(xué)生CRUD操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java請(qǐng)求Http接口OkHttp超詳細(xì)講解(附帶工具類)

    Java請(qǐng)求Http接口OkHttp超詳細(xì)講解(附帶工具類)

    這篇文章主要給大家介紹了關(guān)于Java請(qǐng)求Http接口OkHttp超詳細(xì)講解的相關(guān)資料,OkHttp是一款優(yōu)秀的HTTP客戶端框架,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 關(guān)于MyBatis10種超好用的寫法(收藏)

    關(guān)于MyBatis10種超好用的寫法(收藏)

    這篇文章主要介紹了關(guān)于MyBatis10種超好用的寫法(收藏),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Mybatis開發(fā)要點(diǎn)-resultType和resultMap有什么區(qū)別詳解

    Mybatis開發(fā)要點(diǎn)-resultType和resultMap有什么區(qū)別詳解

    本文主要介紹了Mybatis開發(fā)要點(diǎn)-resultType和resultMap有什么區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java中的transient關(guān)鍵字介紹

    Java中的transient關(guān)鍵字介紹

    這篇文章主要介紹了Java中的transient關(guān)鍵字介紹,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

长顺县| 昂仁县| 靖边县| 绍兴市| 疏附县| 商河县| 彭山县| 佛坪县| 海宁市| 泸水县| 格尔木市| 安多县| 临夏县| 丽水市| 鄱阳县| 建瓯市| 麻江县| 承德县| 偏关县| 科技| 浑源县| 大化| 台东县| 阿合奇县| 嘉峪关市| 永昌县| 崇信县| 昭觉县| 龙门县| 武义县| 南宫市| 班戈县| 余干县| 乐亭县| 习水县| 扬中市| 永年县| 盈江县| 济宁市| 晋江市| 翁牛特旗|