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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

国密证书生成实践

發布時間:2024/2/2 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 国密证书生成实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗環境:

Linux ubuntu/Centos 64
x86_64 x86_64 x86_64 GNU/Linux

 

1、根據官網說明安裝gmssl

 

$ unzip GmSSL-master.zip
$ cd GmSSL-master
$ ./config no-saf no-sdf no-skf no-sof no-zuc  no-shared         #不去編譯動態庫,編譯出來的gmssl不再依賴libssl.so
$ make
$ sudo make install

  

2、修改/usr/local/ssl/openssl.cnf配置

$ vi   /usr/local/sslopenssl.cnf 

  

[ ca ]
default_ca      = CA_default            # The default ca section
[ CA_default ] #dir		= ./demoCA		# Where everything is kept 
dir		= /home/myapp/demoCA  #此處修改 

  

3、初始化CA目錄

1)創建根目錄

$ mkdir -p  /home/myapp/demoCA
$ cd /home/myapp/demoCA 

2)創建其他目錄

在此路徑下要創建好/usr/local/ssl/openssl.cnf中需要的certs, crl ,new_certs_dir和private_key的子目錄,默認是newcerts和private

$ mkdir certs crl newcerts private 

3)創建好database文件index.txt

touch index.txt 

4)創建好serial文件,并寫入初始序號,如01

echo "01" > serial

4、生成國密證書步驟

(1)生成根證書

1)生成私鑰key

$ gmssl ecparam -genkey -name sm2p256v1 -text -out Root.key -config  /usr/local/ssl/openssl.cnf 

2)生成證書簽名請求

$ gmssl req -new -key Root.key -out Root.req -subj /C=CN/ST=Guang Zhou/L=GZ/O=Root/OU=Root Sign/CN=RootCA/emailAddress=Root@gmail.com  
-config /usr/local/ssl/openssl.cnf

3)生成根證書

$ gmssl x509 -req -days 3650 -sm3 -in Root.req -signkey Root.key -out RootCA.crt $ cp RootCA.crt demoCA/
$ cp Root.key demoCA/private/

 類似于 apache/ssl/ca.crt和apache/ssl/ca.key

(2)生成中間證書(即客戶端證書)

1)生成私鑰

$ gmssl ecparam -genkey -name sm2p256v1 -text -out Medium.key -config  /usr/local/ssl/openssl.cnf 

2)生成客戶證書請求

$ gmssl req -new -key Medium.key -out Medium.req -subj /C=CN/ST=Guang Zhou/L=GZ/O=Medium/OU=Medium Sign/CN=MediumCA/emailAddress=Medium@gmail.com  -config  /usr/local/ssl/openssl.cnf

3)簽發證書

$ gmssl x509 -req -sm3 -days 3650 -CA  RootCA.crt -CAkey demoCA/private/Root.key -CAcreateserial -in Medium.req -out MediumCA.crt 

4)證書驗證

$ gmssl verify -CAfile RootCA.crt MediumCA.crt 
$ cp MediumCA.crt demoCA/
$ cp Medium.key demoCA/private/

5)證書轉換成瀏覽器認識的格式 pfx

$ gmssl pkcs12 -export  -inkey Medium.key -in MediumCA.crt -out test.pfx -passin  pass:xxx -passout pass:xxx

6) 查看證書信息

PKCS轉換為PEM
gmssl pkcs12 -in test.pfx -out cert.pem -nodes
轉換后可查看證書信息
打印出證書的內容:
gmssl x509 -in cert.pem -noout -text
打印出證書的系列號
gmssl x509 -in cert.pem -noout -s erial
打印出證書的擁有者名字
gmssl x509 -in cert.pem -noout -subject
打印出證書的MD5特征參數
gmssl x509 -in cert.pem -noout -fingerprint

(3)生成服務器證書

1) 生成私鑰

$ gmssl ecparam -genkey -name sm2p256v1 -text -out Server.key -config /usr/local/ssl/openssl.cnf

2) 證書請求

$ gmssl req -new -key Server.key -out Server.csr -subj /C=CN/ST=Guang Zhou/L=GZ/O=Server/OU=Server Sign/CN=ServerCA/emailAddress=Server@gmail.com -config /usr/local/ssl/openssl.cnf

3) 簽發證書

$ gmssl x509 -req -sm3 -days 3650 -CA RootCA.crt -CAkey demoCA/private/Root.key -CAcreateserial -in Server.csr -out ServerCA.crt

4)證書驗證

$ gmssl verify -CAfile RootCA.crt ServerCA.crt

  

 

總結

以上是生活随笔為你收集整理的国密证书生成实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。