1. 程式人生 > >利用工具openSSL生成證書

利用工具openSSL生成證書

第一次借接觸,好多不懂,查閱了各位大神的部落格總結了一下,好多部落格給的很模糊,哎,無奈,我來整理下吧那就

  • 首先下載工具 openSSL,下載好後安裝成功後需要配置環境變數,OPENSSL_HOME=安裝路徑,Path=%OPENSSL_HOME%/bin,這樣就配好嘍.
  • 在安裝的openssl的bin目錄下面建立以下資料夾和檔案: 建立資料夾 /demoCA/, /demoCA/newcerts/, /demoCA/certs,建立檔案 index.txt,裡面什麼都不寫入。建立檔案serail.txt 開啟裡面寫入01,然後去掉此檔案的字尾名儲存.
  • 下面就是硬菜了:下面操作是在命令列下面進行的操作,開啟命令列,進入到openssl的安裝目錄bin層下操作下面的命令
    1. 生成CA證書
      openssl req -new -x509 -keyout ca.key -out ca.crt -days 3650
      此步驟需要填寫一些資訊

      1. 生成server端證書
        1)生成KeyPair生成金鑰對
        keytool -genkey -alias server -keysize 1024 -validity 3650 -keyalg RSA -dname “CN=TJ,OU=TJ,O=ctrl1.tonze.com,L=HaiDian,S=BeiJing, C=CN” -keypass 123456 -storepass 123456 -keystore server.jks
        2)生成證書籤名請求
        keytool -certreq -alias server -sigalg MD5withRSA -file server.csr -keypass 123456 -storepass 123456 -keystore server.jks
        3)用CA私鑰進行簽名,也可以到權威機構申請CA簽名
        openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key –notext
        4)匯入信任的CA根證書到keystore
        keytool -import -v -trustcacerts -alias ca_root -file ca.crt -storepass 123456 -keystore server.jks
        5)把CA簽名後的server端證書匯入keystore
        *keytool -import -v -alias server -file server.crt -keypass 123456 -storepass 123456 –keystore server.jks*


        !!!當服務端證書生成後,需要把demoCA/下的index.txt裡面的內容刪除掉,index.txt.attr檔案與index.txt.old檔案與serial.old檔案刪除掉,刪除過後再去操作下面的步驟生成客戶端證書才不會報錯!!!

        • 3生成Client端證書
        • 1)生成KeyPair生成金鑰對
          keytool -genkey -alias client -keysize 1024 -validity 3650 -keyalg RSA -dname “CN=TJ,OU=TJ,O=ctrl1.tonze.com,L=HaiDian,S=BeiJing, C=CN” -keypass 123456 -storepass 123456 -keystore client.jks
          2)生成證書籤名請求
          keytool -certreq -alias client -sigalg MD5withRSA -file client.csr -keypass 123456 -storepass 123456 -keystore client.jks

3)用CA私鑰進行簽名,也可以到權威機構申請CA簽名
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key –notext

4)匯入信任的CA根證書到keystore
keytool -import -v -trustcacerts -alias ca_root -file ca.crt -storepass 123456 -keystore client.jks
5)把CA簽名後的client端證書匯入keystore
keytool -import -v -alias client -file client.crt -keypass 123456 -storepass 123456 –keystore client.jks
ok,客戶端與服務端證書生成完成 就藏在了server.jks與client.jks中 這樣就可以在mina框架中使用了,至於mima框架的使用,請看另外一篇部落格啦