日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【SSL】使用Keytool工具生成证书及签名完整步骤

發(fā)布時間:2024/9/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【SSL】使用Keytool工具生成证书及签名完整步骤 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

  • jdk 1.8
  • OS:redhat 7.0
  • linux 命令的換行符為 \。
  • window 命令的換行符為 ^。本文中的命令在 redhat 上進(jìn)行的測試。如果使用windows時,將下面的命令中的 \ 替換為 ^ 。

使用Keytool工具生成證書及簽名完整步驟

  • 創(chuàng)建證書庫(keystore)及證書(Certificate)
  • 生成證書簽名請求(CSR)
  • 將已簽名的證書導(dǎo)入證書庫
  • 下面以為”www.mydomain.com“域名制作數(shù)字證書為例進(jìn)行操作。

    創(chuàng)建證書庫(keystore)及證書(Certificate)

    命令如下:

    keytool -genkeypair \-alias www.mydomain.com \-keyalg RSA \-keysize 4096 \-keypass mypassword \-sigalg SHA256withRSA \-dname "cn=www.mydomain.com,ou=xxx,o=xxx,l=Beijing,st=Beijing,c=CN" \-validity 3650 \-keystore www.mydomain.com_keystore.jks \-storetype JKS \-storepass mypassword

    解釋:

    • keytool 是jdk提供的工具,該工具名為”keytool“
    • -alias www.mydomain.com 此處”www.mydomain.com“為別名,可以是任意字符,只要不提示錯誤即可。因一個證書庫中可以存放多個證書,通過別名標(biāo)識證書。
    • -keyalg RSA 此處”RSA“為密鑰的算法。可以選擇的密鑰算法有:RSA、DSA、EC。
    • –keysize 4096 此處”4096“為密鑰長度。keysize與keyalg默認(rèn)對應(yīng)關(guān)系:
      2048 (when using -genkeypair and -keyalg is “RSA”)
      1024 (when using -genkeypair and -keyalg is “DSA”)
      256 (when using -genkeypair and -keyalg is “EC”)
    • -keypass mypassword 此處”mypassword “為本條目的密碼(私鑰的密碼)。最好與storepass一致。
    • -sigalg SHA256withRSA 此處”SHA256withRSA“為簽名算法。keyalg=RSA時,簽名算法有:MD5withRSA、SHA1withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA。keyalg=DSA時,簽名算法有:SHA1withDSA、SHA256withDSA。此處需要注意:MD5和SHA1的簽名算法已經(jīng)不安全。
    • -dname “cn=www.mydomain.com,ou=xxx,o=xxx,l=Beijing,st=Beijing,c=CN” 在此填寫證書信息?!癈N=名字與姓氏/域名,OU=組織單位名稱,O=組織名稱,L=城市或區(qū)域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼”
    • -validity 3650 此處”3650“為證書有效期天數(shù)。
    • -keystore www.mydomain.com_keystore.jks 此處”www.mydomain.com_keystore.jks“為密鑰庫的名稱。此處也給出絕對路徑。默認(rèn)在當(dāng)前目錄創(chuàng)建證書庫。
    • -storetype JKS 此處”JKS “為證書庫類型。可用的證書庫類型為:JKS、PKCS12等。jdk9以前,默認(rèn)為JKS。自jdk9開始,默認(rèn)為PKCS12。
    • -storepass mypassword 此處”mypassword “為證書庫密碼(私鑰的密碼)。最好與keypass 一致。

    說明:
    上述命令,需要將 -dname 參數(shù)替換(尤其時域名要寫對)、密碼更改即可,其它可保持不變。

    生成證書簽名請求(CSR)

    命令如下:

    keytool -certreq -keyalg RSA \-alias www.mydomain.com \-keystore www.mydomain.com_keystore.jks \-storetype JKS \-storepass mypassword \-file www.mydomain.com_certreq.csr

    解釋:
    -file www.mydomain.com_certreq.csr 此處”www.mydomain.com_certreq.csr “為證書簽名請求文件。

    說明:
    將”www.mydomain.com_certreq.csr “文件發(fā)送給證書簽名機(jī)構(gòu),然后等待證書簽名機(jī)構(gòu)將簽名的證書發(fā)回,再進(jìn)行下一步。

    將已簽名的證書導(dǎo)入證書庫

    如果到了這步,應(yīng)該會拿到兩個證書。一個是簽名機(jī)構(gòu)的根證書(假定為GlobalSign_cert.cer),一個是www.mydomain.com的已簽名證書(假定為www.mydomain.com_cert.cer)。兩個證書均導(dǎo)入到證書庫(www.mydomain.com_keystore.jks)中。

    導(dǎo)入簽名機(jī)構(gòu)的根證書:

    keytool -import -trustcacerts \-keystore www.mydomain.com_keystore.jks \-storepass mypassword \-alias root_GlobalSign \-file GlobalSign_cert.cer

    說明:
    alias和file兩個參數(shù)進(jìn)行替換。

    導(dǎo)入www.mydomain.com的已簽名證書

    keytool -import -trustcacerts \-keystore www.mydomain.com_keystore.jks \-storepass mypassword \-alias www.mydomain.com \-file www.mydomain.com_cert.cer

    說明:
    alias參數(shù)要與生成時一致,file參數(shù)進(jìn)行替換。

    輔助命令

    查看證書庫

    keytool -list -v \-keystore www.mydomain.com_keystore.jks \-storepass mypassword

    查看證書簽名請求

    keytool -printcertreq -file www.mydomain.com_certreq.csr

    查看已簽名證書

    keytool -printcert -file GlobalSign_cert.cer keytool -printcert -file www.mydomain.com_cert.cer

    總結(jié)

    以上是生活随笔為你收集整理的【SSL】使用Keytool工具生成证书及签名完整步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。