1. 程式人生 > >OpenSSL之自簽名證書認證

OpenSSL之自簽名證書認證

前言

由於資訊在傳輸的過程中都採用明文 , 故是很不安全的做法 , 所以需要對資料進行加密 , 將明文資料轉換為密文資料傳輸 . 因此採用OpenSSL生成自簽名證書在服務端和移動端使用 , 但是查找了網上的很多的部落格, 發現很多都介紹的不夠詳細 , 因此耗費了很多的時間 , 顧將自己的總結, 提供給大家 , 以便參考.

OpenSSL認識

openssl 是一個開放原始碼的實現了SSL及相關加密技術的軟體包,其提供了一個通用、健壯、功能完備的工具套件,用SSL/TLS 協議的加密工具

功能

  1. 密碼演算法庫
  2. 金鑰和證書封裝管理功能
  3. SSL協議

用途

  1. 建立 RSA、DH、DSA key 引數
  2. 生成證書 , 即數字簽名證書 , 它包含一個公有祕鑰 ,可以用來單向的加密和解密資料 , 即,使用公鑰加密的資料 , 只能使用私有祕鑰解密
  3. 計算訊息摘要
  4. SSL/TLS 客戶端以及伺服器的測試
  5. 處理S/MIME 標記和郵件的加密

下載

軟體安裝與執行

  1. 安裝

安裝完成以後 , 找到安裝的目錄 , 然後在目錄中找到bin , 新建資料夾為: myssl

     2.執行

在bin目錄中 以管理員的身份執行openssl.exe檔案 , 彈出如下圖的終端視窗

使用

1.生成RSA私鑰(無加密)

genrsa -out ssl/rsa_private.key 2048

2.生成RSA公鑰

rsa -in ssl/rsa_privage.key -pubout -out ssl/rsa_public.key

3.生成RSA私鑰(使用aes256加密)

genrsa -aes256 -passout pass:123456 -out ssl/aes_private.key 2048

4.根據第三步生成的私鑰 , 生成公鑰

rsa -in aes_private.key -passin pass:123456 -puout -out aes_public.key

5.生成自簽名證書

生成RSA私鑰和自簽名證書

reg -newkey rsa:2048 -nodex -keyout ssl/rsa_privage.key -x509 -days3650 -out ssl/cert.crt

根據提示輸入證書擁有者資訊

req 是證書請求的子命令 , -newkey rsa:2048 -keyout ssl/rsa_private.key 表示生成私鑰(PKCS8格式), -nodes 表示私鑰不加密 , -x509 表示輸出證書 , -days 3650 為有效期.

如果執行自動輸入 , 可使用-subj選項:

 reg -newkey rsa:2048 -nodex -keyout ssl/rsa_privage.key -x509 -days3650 -out ssl/subj_cert.crt  -subj “/C=CN/ST=GD/L=SZ/O=QUANZI/OU=DEV/CN=192.168.1.244/[email protected]

OpenSSL命令解釋

  1. list-standard-commands(標準命令)
    1. Ca : 用於ca的管理
      • -in file   需要進行處理的PEM格式的證書
      • -out file 處理結束後輸出的證書檔案
      • -cert file 用於簽發的根CA證書
      • -days arg 指定簽發的證書的有效時間
      • -keyfile arg  CA的私鑰證書檔案
      • -keyform arg  CA的根私鑰證書檔案格式
        1. PEM
        2. ENGINE
    2. Req : x.509證書籤發請求管理
    3. -inform arg  輸入檔案格式
      • Der
      • Pem
    4. -outform arg  輸出檔案格式
      • DER
      • PEM
    5. -in arg 待處理檔案
    6. -out arg 待輸出檔案
    7. -passin  用於簽名待生成的請求證書的私鑰檔案的解密密碼
    8. -keyform arg
      • DER
      • NET
      • PEM
    9. -new 新的請求
    10. -x509 輸出一個X509格式的證書
    11. -days x509證書的有效時間
    12. -newkey rsa:bits  生成一個bits長度的RSA私鑰檔案 , 用於簽發
    13. -[digest]  HASH演算法
      • Md5
      • Sha1
      • Md2
      • Mdc2
      • Md4
    14. -config file   指定openssl配置檔案
    15. -text   text顯示格式

還有很多, 這裡就不作一一解釋

總結

以上是個人對OpenSSL的一些理解和總結 , 如果寫的不對的地方 , 希望同行多多指教 . 

相關推薦

OpenSSL簽名證書認證

前言 由於資訊在傳輸的過程中都採用明文 , 故是很不安全的做法 , 所以需要對資料進行加密 , 將明文資料轉換為密文資料傳輸 . 因此採用OpenSSL生成自簽名證書在服務端和移動端使用 , 但是查找了網上的很多的部落格, 發現很多都介紹的不夠詳細 , 因此耗費了很多的時間

openssl生成簽名證書

發送 etc des you stat 同時 信息 內部 簽名 第1步:生成私鑰使用openssl工具生成一個RSA私鑰 openssl genrsa -des3 -out server.key 2048說明:生成rsa私鑰,des3算法,2048位強度,server.ke

openssl 生成簽名證書

#生成服務端私鑰                                                                                                             openssl genrsa -out key.pem 2048    

OpenSSL 生成簽名證書(Self-signed SSL certificate)【轉】

環境: CentOS 6.8 x86_64 安裝 openssl openssl-devel cp /etc/pki/tls/openssl.cnf openssl.cnf 修改openssl.cnf [ req ] distinguis

iOS開發HTTPS實現信任SSL證書簽名證書

                                          &nb

【HTTPS】使用OpenSSL生成帶有SubjectAltName的簽名證書

操作步驟 首先新建一個配置檔案 ssl.conf如下: [ req ] default_bits = 4096 distinguished_name = req_distinguished_

如何使用OpenSSL生成帶有SubjectAltName的簽名證書

Can someone help me with the exact syntax?它的三步過程,它涉及修改openssl.cnf檔案。你可能能夠使用命令列選項,但我不這樣做。找到你的openssl.cnf檔案。它可能位於/usr/lib/ssl/openssl.cnf:$ find /usr/lib -na

IIS 使用OpenSSL 生成的簽名證書,然後使用SingalR 客戶端訪問Https 站點通信

需要 center html sys ask proxy 客戶端訪問 The con 使用SignalR 的客戶端去發送消息給使用 https 部署的站點,官方文檔目前並沒有詳細的教程,所以在此記錄下步驟: 使用管理員身份打開cmd 窗口,選擇一個整數保存文件夾的地

解決linux netcore https請求使用簽名證書忽略安全檢查方法

mva supported support ali figure -s issue 大致 iss 當前系統環境:centos7 x64. dotnet 2.0. 不管是 ServicePointManager.ServerCertificateValidationCallb

https CA簽名證書,並給Webserver頒發證書

extension there form nal 3.2 vim city append cor **CA主機執行命令** [root@centos7 ~]# cd /etc/pki/CA [root@centos7 CA]# touch index.txt [root@c

Nginx 配置 HTTPS簽名證書

sta num web oca pos sof AI bsp OS 工具:OpenSSL ssl的開源實現,幾乎實現了市面上所有的加密libcrypto: 通用加密庫, 任何軟件要實現加密功能 鏈接調用這個庫libssl: TLS/SSL 加密庫 openssl:

tomcat配置https簽名證書(keytool生成)

pri list tin led str orm unit lock pass tomcat配置https自簽名證書(keytool生成) 生成keystore keytool -genkeypair -alias "server" -keyalg &

SDWebImage 加載Https簽名證書時的圖片問題

str values ext 找到 from ict ati implement creat 你是否遇到了這種情況,好不容易把自簽名HTTPS證書配置好了,訪問https接口也成功了,但是圖片加載不出來? 傳了SDWebImageAllowInvalidSSLCertifi

Nginx配置https並簽名證書

曾經iOS 為安全起見要求所有請求必須https,記錄專案中配置https過程。 # 生成一個RSA金鑰 openssl genrsa -des3 -out xgj.key 1024 # 拷貝一個不需要輸入密碼的金鑰檔案 openssl rsa -in xgj.key -out xg

使用Openssl生成證書

原文出自:http://www.joyios.com/?p=47 引言 使用HTTP(超文字傳輸)協議訪問網際網路上的資料是沒有經過加密的。也就是說,任何人都可以通過適當的工具攔截或者監聽到在網路上傳輸的資料流。但是有時候,我們需要在網路上傳輸一些安全性或者私祕性的資料,譬如:包含信

使用簽名證書進行TLS

使用自簽名證書獲取TLS/SSL配置的證書,用於非生產或測試環境。 建立證書的目錄 $ mkdir -p /opt/cloudera/security/x509/ /opt/cloudera/security/jks/ 訪問該目錄,並設定正確的許可權,然後切換到jks目錄

opensll簽名證書生成

1.生成私約 genrsa -out privateKey.pem 2048 privateKey.pem -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAwEIkpHwGCvmOWflCHI/gmYxKuerdupw

HTTPS協議以及雙向數字證書校驗 簽名證書的生成

$ openssl x509 -text -in client.crt -noout Certificate:     Data:         Version: 1 (0×0)         Serial Number:             d6:e3:f6:fa:ae:65:ed:df      

使用CA簽名證書搭建HTTPS網站

在自己倒騰https網站的時候用自定義的CA給自己的網站做自簽名的問題一直困擾了我好久,下面是我自己測試成功的案例,網上有很多類似的問題,在這裡儲備一份供自己和他人蔘考使用。 1. 安裝linux,apache,openssl元件,在此不做贅述,我用的就是

gmssl生成簽名證書

gmssl是在openssl原始碼基礎上,增加了對國密的實現 gmssl下載地址 https://github.com/guanzhi/GmSSL/releases 版本:gmssl-1.3.0 作業系統:CentOS7 x86_64           注意:在Cen