1. 程式人生 > >如何使用OpenSSL生成帶有SubjectAltName的自簽名證書?

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

Can someone help me with the exact syntax?

它的三步過程,它涉及修改openssl.cnf檔案。你可能能夠使用命令列選項,但我不這樣做。

找到你的openssl.cnf檔案。它可能位於/usr/lib/ssl/openssl.cnf:

$ find /usr/lib -name openssl.cnf
/usr/lib/openssl.cnf
/usr/lib/openssh/openssl.cnf
/usr/lib/ssl/openssl.cnf

在我的Debian系統上,/usr/lib/ssl/openssl.cnf被內建的openssl程式使用。在最近的Debian系統上,它位於/etc/ssl/openssl.cnf

您可以通過向檔案新增一個虛假的XXX來確定正在使用的openssl.cnf,並檢視openssl chokes。

首先,修改req引數。新增一個alternate_names部分到openssl.cnf,使用您想要使用的名稱。沒有現有的alternate_names部分,因此您新增它的位置無關緊要。

[ alternate_names ]

DNS.1= example.com
DNS.2= www.example.com
DNS.3= mail.example.com
DNS.4= ftp.example.com

接下來,將以下內容新增到現有的[v3_ca]部分。搜尋確切的字串[v3_ca]:

subjectAltName      
=@alternate_names

您可以在[v3_ca]下將keyUsage更改為以下內容:

keyUsage = digitalSignature, keyEncipherment

digitalSignature和keyEncipherment是伺服器證書的標準。不要擔心nonRepudiation。它的一個無用的位想到了誰想要成為律師的科學家。這在法律世界中沒有意義。

最後,IETF(RFC 5280),瀏覽器和CA執行快速和鬆散,所以它可能不重要什麼關鍵用法提供。

二,修改簽名引數。在CA_default部分下找到此行:

# Extension copying option: use with caution.
# copy_extensions = copy

並將其更改為:

# Extension copying option: use with caution.
copy_extensions = copy

這確保SAN被複制到證書中。複製dns名稱的其他方法被破壞。

第三,生成你的自簽名:

$ openssl genrsa -outprivate.key 3072
$ openssl req -new-x509 -key private.key -sha256 -out certificate.pem -days 730You are about to be asked to enter information that will be incorporated
into your certificate request.What you are about to enter is what is called a DistinguishedNameor a DN....

最後,檢查證書:

$ openssl x509 -in certificate.pem -text -noout
Certificate:Data:Version:3(0x2)SerialNumber:9647297427330319047(0x85e215e5869042c7)SignatureAlgorithm: sha256WithRSAEncryption
        Issuer: C=US, ST=MD, L=Baltimore, O=Test CA,Limited, CN=Test CA/emailAddress=[email protected].com
        ValidityNotBefore:Feb105:23:052014 GMT
            NotAfter:Feb105:23:052016 GMT
        Subject: C=US, ST=MD, L=Baltimore, O=Test CA,Limited, CN=Test CA/emailAddress=[email protected].com
        SubjectPublicKeyInfo:PublicKeyAlgorithm: rsaEncryption
                Public-Key:(3072 bit)Modulus:00:e2:e9:0e:9a:b8:52:d4:91:cf:ed:33:53:8e:35:...
                    d6:7d:ed:67:44:c3:65:38:5d:6c:94:e5:98:ab:8c:72:1c:45:92:2c:88:a9:be:0b:f9
                Exponent:65537(0x10001)
        X509v3 extensions:
            X509v3 SubjectKeyIdentifier:34:66:39:7C:EC:8B:70:80:9E:6F:95:89:DB:B5:B9:B8:D8:F8:AF:A4
            X509v3 AuthorityKeyIdentifier: 
                keyid:34:66:39:7C:EC:8B:70:80:9E:6F:95:89:DB:B5:B9:B8:D8:F8:AF:A4

            X509v3 BasicConstraints: critical
                CA:FALSE
            X509v3 KeyUsage:DigitalSignature,NonRepudiation,KeyEncipherment,CertificateSign
            X509v3 SubjectAlternativeName: 
                DNS:example.com, DNS:www.example.com, DNS:mail.example.com, DNS:ftp.example.com
    SignatureAlgorithm: sha256WithRSAEncryption
         3b:28:fc:e3:b5:43:5a:d2:a0:b8:01:9b:fa:26:47:8e:5c:b7:...71:21:b9:1f:fa:30:19:8b:be:d2:19:5a:84:6c:81:82:95:ef:8b:0a:bd:65:03:d1

相關推薦

【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

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

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

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

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

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

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      

gmssl生成簽名證書

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

OpenSSL簽名證書認證

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

CA和證書(企業內網搭建CA服務器生成簽名證書,CA簽署,實現企業內網基於key驗證訪問服務器)

file type ima 1.5 x509 項目 索引 分享 是否 一些CA基礎 PKI:Public Key Infrastructure簽證機構:CA(Certificate Authority)註冊機構:RA證書吊銷列表:CRL X.509:定義了證書的結構以及

解決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:

https學習筆記三----OpenSSL生成root CA及簽發證書

open spa centos7 cisc div encrypt 自簽證書 oca led 在https學習筆記二,已經弄清了數字證書的概念,組成和在https連接過程中,客戶端是如何驗證服務器端的證書的。這一章,主要介紹下如何使用openssl庫來創建

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

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

                                          &nb

使用簽名證書進行TLS

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