導航:首頁 > 證書轉讓 > openssl生成https證書

openssl生成https證書

發布時間:2021-05-06 15:10:47

㈠ 如何生成SSL證書和key

可以找專業的抄SSL證書服務商來生成SSL證書和key,具體步驟如下:
第一步:將CSR提交到證書服務商
CSR(Certificate Signing Request)文件必須由用戶自己生成,也可以利用在線CSR生成工具。選擇要申請的產品,提交一個新的訂單,並將製作好的CSR文件提交。
第二步 資料提交到CA
當收到您的訂單和CSR後,如果是域名驗證型證書(DV SSL證書),在域名驗證之後10分鍾左右就可頒發證書,若是其他類型證書則是需要通過CA機構進行驗證之後才可頒發。
第三步 發送驗證郵件到管理員郵箱
權威CA機構獲得資料後,將發送一封確認信到管理員郵箱,信中將包含一個 對應的鏈接過去。每一個訂單,都有一個唯一的PIN以做驗證用。
第四步 郵件驗證
點擊確認信中的鏈接,可以訪問到CA機構驗證網站,在驗證網站,可以看到該訂單的申請資料,然後點擊」I Approve」完成郵件驗證。
第五步 頒發證書
在用戶完成郵件驗證之後,CA機構會將證書通過郵件方式發送到申請人自己的郵箱,當用戶收到證書後直接安裝就可以了。若安裝存在問題,安信證書是提供免費證書安裝服務的。

㈡ 如何創建一個自簽名的SSL證書

創建自簽名不會被瀏覽器信任,當然起不到SSL證書真正的加密,很隨意的被模仿或復制。
建議您淘寶:Gworg 獲取可信SSL證書。
創建自簽名證書的步驟

注意:以下步驟僅用於配置內部使用或測試需要的SSL證書。
第1步:生成私鑰
使用openssl工具生成一個RSA私鑰
$ openssl genrsa -des3 -out server.key 2048
說明:生成rsa私鑰,des3演算法,2048位強度,server.key是秘鑰文件名。
注意:生成私鑰,需要提供一個至少4位的密碼。
第2步:生成CSR(證書簽名請求)
生成私鑰之後,便可以創建csr文件了。
此時可以有兩種選擇。理想情況下,可以將證書發送給證書頒發機構(CA),CA驗證過請求者的身份之後,會出具簽名證書(很貴)。另外,如果只是內部或者測試需求,也可以使用OpenSSL實現自簽名,具體操作如下:

$ openssl req -new -key server.key -out server.csr
說明:需要依次輸入國家,地區,城市,組織,組織單位,Common Name和Email。其中Common Name,可以寫自己的名字或者域名,如果要支持https,Common Name應該與域名保持一致,否則會引起瀏覽器警告。

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com
Email Address []:[email protected]

第3步:刪除私鑰中的密碼
在第1步創建私鑰的過程中,由於必須要指定一個密碼。而這個密碼會帶來一個副作用,那就是在每次Apache啟動Web伺服器時,都會要求輸入密碼,這顯然非常不方便。要刪除私鑰中的密碼,操作如下:

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

第4步:生成自簽名證書
如果你不想花錢讓CA簽名,或者只是測試SSL的具體實現。那麼,現在便可以著手生成一個自簽名的證書了。

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
說明:crt上有證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息。當用戶安裝了證書之後,便意味著信任了這份證書,同時擁有了其中的公鑰。證書上會說明用途,例如伺服器認證,客戶端認證,或者簽署其他證書。當系統收到一份新的證書的時候,證書會說明,是由誰簽署的。如果這個簽署者確實可以簽署其他證書,並且收到證書上的簽名和簽署者的公鑰可以對上的時候,系統就自動信任新的證書。
第5步:安裝私鑰和證書
將私鑰和證書文件復制到Apache的配置目錄下即可,在Mac 10.10系統中,復制到/etc/apache2/目錄中即可。
需要注意的是,在使用自簽名證書時,瀏覽器會提示證書不受信任,如果你是對外網站使用,建議還是去CA機構申請可信的SSL證書,現在證書也很便宜,Gworg SSL證書可以淘寶獲取。

㈢ 如何利用openssl為iis生成ssl伺服器證書

2.在要安加SSL服務的網站,右鍵打開網站屬性Table. 3.選取目錄安全中的伺服器證書. 4.進入生成伺服器證書請求的步驟中,一步步填寫相應的信息。每一步相應的信息要記住,這些信息在後面要用到。二、openssl操作: 1.生成私鑰。 openssl genrsa -des3 -out cakey.pem 2048 2.生成自簽名根證書. openssl req -new -x509 -key cakey.pem -out cacert.pem -days 1825
此處會要求輸入一些信息: Country Name: CN //兩個字母的國家代號 State or Province Name: guang dong //省份名稱 Locality Name: guang zhou //城市名稱 Organization Name: sunrising //公司名稱
Organizational Unit Name: home //部門名稱 Common Name: besunny //你的姓名(要是生成伺服器端的證書一定要輸入域名或者ip地址) 切記一定要和IIS伺服器上填寫的信息保持一致。 3.在你的openssl主目錄下的bin目錄下創建如下目錄: demoCA
demoCA/newcerts 在demoCA目錄下創建一個空的index.txt文件. 在demoCA目錄創建一個serial文件,文件內容為01 . 4.把第二步的生成的cakey.pem拷貝到 demoCA/private目錄下; 把cacert.pem 拷貝到demoCA目錄下. 5.用CA證書cacert.pem為IIS請求certreq.txt簽發證書。(將iis伺服器生成的certreq.txt存放在openssl/bin下面) openssl ca -in certreq.txt -out iis.cer 6.打開iis.cer,刪掉在"-- Begin Certificate --"的文本。 三.IIS伺服器操作: 在該網站屬性中目錄安全的伺服器證書 ,導入該證書。 四、測試是否SSL正常。 二、配置OpenSSL1、建立自己的CA證書在openssl的apps目錄下建立自己的CA證書,例如mageCAC:/openssl098b/apps>mkdir mageCA2、生成CA密鑰C:/openssl098b/apps>openssl genrsa -out mageCA/ca-key.pem 1024Genrsa[產生密鑰命令] –out[密鑰文件輸出路徑] 1024[密鑰位數]Loading 'screen' into random state - doneGenerating RSA private key, 1024 bit long molus..............................++++++......++++++3、生成待簽名的證書C:/openssl098b/apps>openssl req -new -out mageCA/ca-req.csr -key mageCA/ca-key.pemreq[產生證書命令]-new[新生成]-out[證書文件輸出路徑]-key[私鑰文件路徑]報錯:Using configuration from /usr/local/ssl/openssl.cnfUnable to load config infounable to find 'distinguished_name' in configproblems making Certificate Request2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:2188:error:0E06D06A:configurationfileroutines:NCONF_get_string:no conf or environment variable:./crypto/conf/conf_lib.c:344:出現這樣的問題後,打開了apps下的req查看DIAGNOSTICS: =head1 DIAGNOSTICSThe following messages are frequently asked about:? Using configuration from /some/path/openssl.cnf? Unable to load config infoThis is followed some time later by...? unable to find 'distinguished_name' in config? problems making Certificate RequestThe first error message is the clue: it can't find the configurationfile! Certain operations (like examining a certificate request) don'tneed a configurationfile so its use isn't enforced. Generation ofcertificates or requests however does need a configurationfile. Thiscould be regarded as a bug.依然不能解決問題,在網上搜索,被告知是環境變數沒有設置,於是設置系統用戶變數OPENSSL_CONF為C:/openssl098b/apps/openssl_cnf。重開一個命令行窗口,要求輸入一系列的信息,如國家、省、市、公司、部門、姓名、電子郵件等,命令執行完成。在設置了環境變數以後,一定要另開一個命令行窗口!一開始我就是沒有另開窗口,所以後來又耽誤了好多時間,不過,真是因為這個錯誤,我才搞清楚了openssl_cnf!至於openssl_cnf,笨笨的我還在apps下找了好半天,都沒有找到這個文件,後來被高手告知就是那個名為openssl的計算機圖標一樣的文件,是可以用寫字板打開的!狂暈!還有人說是在ssl目錄下,但是我的不是!

㈣ 如何使用OpenSSL創建證書

為一個基於密碼學的安全開發包,OpenSSL提供的功能相當強大和全面,囊括了主要的密碼演算法、常用的密鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程序供測試或其它目的使用。
1.對稱加密演算法
OpenSSL一共提供了8種對稱加密演算法,其中7種是分組加密演算法,僅有的一種流加密演算法是RC4。這7種分組加密演算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持電子密碼本模式(ECB)、加密分組鏈接模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它演算法使用的則是64位。事實上,DES演算法裡面不僅僅是常用的DES演算法,還支持三個密鑰和兩個密鑰3DES演算法。
2.非對稱加密演算法
OpenSSL一共實現了4種非對稱加密演算法,包括DH演算法、RSA演算法、DSA演算法和橢圓曲線演算法(EC)。DH演算法一般用戶密鑰交換。RSA演算法既可以用於密鑰交換,也可以用於數字簽名,當然,如果你能夠忍受其緩慢的速度,那麼也可以用於數據加密。DSA演算法則一般只用於數字簽名。
3.信息摘要演算法
OpenSSL實現了5種信息摘要演算法,分別是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA演算法事實上包括了SHA和SHA1兩種信息摘要演算法,此外,OpenSSL還實現了DSS標准中規定的兩種信息摘要演算法DSS和DSS1。
4.密鑰和證書管理
密鑰和證書管理是PKI的一個重要組成部分,OpenSSL為之提供了豐富的功能,支持多種標准。
首先,OpenSSL實現了ASN.1的證書和密鑰相關標准,提供了對證書、公鑰、私鑰、證書請求以及CRL等數據對象的DER、PEM和BASE64的編解碼功能。OpenSSL提供了產生各種公開密鑰對和對稱密鑰的方法、函數和應用程序,同時提供了對公鑰和私鑰的DER編解碼功能。並實現了私鑰的PKCS#12和PKCS#8的編解碼功能。OpenSSL在標准中提供了對私鑰的加密保護功能,使得密鑰可以安全地進行存儲和分發。
在此基礎上,OpenSSL實現了對證書的X.509標准編解碼、PKCS#12格式的編解碼以及PKCS#7的編解碼功能。並提供了一種文本資料庫,支持證書的管理功能,包括證書密鑰產生、請求產生、證書簽發、吊銷和驗證等功能。
事實上,OpenSSL提供的CA應用程序就是一個小型的證書管理中心(CA),實現了證書簽發的整個流程和證書管理的大部分機制。
5.SSL和TLS協議
OpenSSL實現了SSL協議的SSLv2和SSLv3,支持了其中絕大部分演算法協議。OpenSSL也實現了TLSv1.0,TLS是SSLv3的標准化版,雖然區別不大,但畢竟有很多細節不盡相同。
雖然已經有眾多的軟體實現了OpenSSL的功能,但是OpenSSL裡面實現的SSL協議能夠讓我們對SSL協議有一個更加清楚的認識,因為至少存在兩點:一是OpenSSL實現的SSL協議是開放源代碼的,我們可以追究SSL協議實現的每一個細節;二是OpenSSL實現的SSL協議是純粹的SSL協議,沒有跟其它協議(如HTTP)協議結合在一起,澄清了SSL協議的本來面目。
6.應用程序
OpenSSL的應用程序已經成為了OpenSSL重要的一個組成部分,其重要性恐怕是OpenSSL的開發者開始沒有想到的。現在OpenSSL的應用中,很多都是基於OpenSSL的應用程序而不是其API的,如OpenCA,就是完全使用OpenSSL的應用程序實現的。OpenSSL的應用程序是基於OpenSSL的密碼演算法庫和SSL協議庫寫成的,所以也是一些非常好的OpenSSL的API使用範例,讀懂所有這些範例,你對OpenSSL的API使用了解就比較全面了,當然,這也是一項鍛煉你的意志力的工作。
OpenSSL的應用程序提供了相對全面的功能,在相當多的人看來,OpenSSL已經為自己做好了一切,不需要再做更多的開發工作了,所以,他們也把這些應用程序成為OpenSSL的指令。OpenSSL的應用程序主要包括密鑰生成、證書管理、格式轉換、數據加密和簽名、SSL測試以及其它輔助配置功能。
7.Engine機制 Engine機制的出現是在OpenSSL的0.9.6版的事情,開始的時候是將普通版本跟支持Engine的版本分開的,到了OpenSSL的0.9.7版,Engine機制集成到了OpenSSL的內核中,成為了OpenSSL不可缺少的一部分。 Engine機制目的是為了使OpenSSL能夠透明地使用第三方提供的軟體加密庫或者硬體加密設備進行加密。OpenSSL的Engine機製成功地達到了這個目的,這使得OpenSSL已經不僅僅使一個加密庫,而是提供了一個通用地加密介面,能夠與絕大部分加密庫或者加密設備協調工作。當然,要使特定加密庫或加密設備更OpenSSL協調工作,需要寫少量的介面代碼,但是這樣的工作量並不大,雖然還是需要一點密碼學的知識。Engine機制的功能跟Windows提供的CSP功能目標是基本相同的。目前,OpenSSL的0.9.7版本支持的內嵌第三方加密設備有8種,包括:CryptoSwift、nCipher、Atalla、Nuron、UBSEC、Aep、SureWare以及IBM 4758 CCA的硬體加密設備。現在還出現了支持PKCS#11介面的Engine介面,支持微軟CryptoAPI的介面也有人進行開發。當然,所有上述Engine介面支持不一定很全面,比如,可能支持其中一兩種公開密鑰演算法。
8.輔助功能
BIO機制是OpenSSL提供的一種高層IO介面,該介面封裝了幾乎所有類型的IO介面,如內存訪問、文件訪問以及Socket等。這使得代碼的重用性大幅度提高,OpenSSL提供API的復雜性也降低了很多。
OpenSSL對於隨機數的生成和管理也提供了一整套的解決方法和支持API函數。隨機數的好壞是決定一個密鑰是否安全的重要前提。
OpenSSL還提供了其它的一些輔助功能,如從口令生成密鑰的API,證書簽發和管理中的配置文件機制等等。如果你有足夠的耐心,將會在深入使用OpenSSL的過程慢慢發現很多這樣的小功能,讓你不斷有新的驚喜。

㈤ openssl 生成ssl證書 能不能用

用openssl生成的ssl證書也叫自簽名ssl證書,這種證書不建議使用,因為有很多弊端:

第一、被「有心者」利用。

其實「有心者」指的就是黑客。自簽名SSL證書你自己可以簽發,那麼同樣別人也可以簽發。黑客正好利用其隨意簽發性,分分鍾就能偽造出一張一模一樣的自簽證書來安裝在釣魚網站上,讓訪客們分不清孰真孰假。

第二、瀏覽器會彈出警告,易遭受攻擊

前面有提到自簽名SSL證書是不受瀏覽器信任的,即使網站安裝了自簽名SSL證書,當用戶訪問時瀏覽器還是會持續彈出警告,讓用戶體驗度大大降低。因它不是由CA進行驗證簽發的,所以CA是無法識別簽名者並且不會信任它,因此私鑰也形同虛設,網站的安全性會大大降低,從而給攻擊者可乘之機。

第三、安裝容易,吊銷難

自簽名SSL證書是沒有可訪問的吊銷列表的,所以它不具備讓瀏覽器實時查驗證書的狀態,一旦證書丟失或者被盜而無法吊銷,就很有可能被用於非法用途從而讓用戶蒙受損失。同時,瀏覽器還會發出「吊銷列表不可用,是否繼續?」的警告,不僅降低了網頁的瀏覽速度,還大大降低了訪問者對網站的信任度。

第四、超長有效期,時間越長越容易被破解

自簽名SSL證書的有效期特別長,短則幾年,長則幾十年,想簽發多少年就多少年。而由受信任的CA機構簽發的SSL證書有效期不會超過2年,因為時間越長,就越有可能被黑客破解。所以超長有效期是它的一個弊端。

㈥ 如何生成openssl生成https證書

自簽名的SSL證書是不會被瀏覽器信任的,建議您直接淘寶:Gworg SSL辦理一個公網信任的證書使用,價格又不貴,而且省省力。

㈦ 如何安裝openssl 生成證書

(1)Openssl生成公私鑰
使用Openssl是為了生成公鑰和私鑰對,用於外部商戶系統和xxx系統之間報文的安全性驗證。如果使用者不需要生成公私鑰,而是直接對報文進行處理,則參考第四部分,計算摘要及簽名值。
1. 安裝openssl步驟直接點擊exe文件。出現需要安裝vs2008插件的,直接忽略。

2. 在安裝過程中找到OpenSSL相應的安裝目錄,進入bin目錄下找到openssl.exe可執行文件,點擊運行。然後分別按順序輸入如下命令:
a. genrsa –out private-rsa.key 1024
說明:該命令是生成一個沒有加密的私鑰
genrsa 生成私鑰文件,私鑰存儲在private-rsa.key中,長度為1024。out後面指定輸出文件名。
private-rsa.key 為生成的私鑰文件,但該文件必須經過處理得到私鑰。

b. req –new –x509 –key private-rsa.key –days 750 –outpublic-rsa.cer
說明:根據private-rsa.key生成證書public-rsa.cer
-new 表示新的請求
-509 表示輸出的證書結構
750表示證書有效天數
-out public-rsa.cer -out後面表示公鑰證書,用於驗證數字簽名,此公鑰證書或者公鑰需要提前發送給需要驗證本單位或部門數據的接收方。

c. pkcs12 –export –name test-alias –in public-rsa.cer–inkey private-rsa.key –out 99bill-rsa.pfx
說明:生成PKCS12 格式Keystore
密碼前後輸入要一致,這個密碼在用Keystore生成公私鑰過程中會用到。
Public-rsa.cer, private-rsa.key是之前生成的。

附1:
下述代碼是從99bill-rsa.pfx中獲取私鑰的Java版本代碼。因為private-rsa.key中生成的私鑰無法直接使用,必須進行一定的處理。
代碼有幾個注意點:
文件流初始化路徑需要根據自己的實際路徑來填寫。
密碼是在第二節中c步驟中的密碼,本實例輸入的是suning。
KeyStorekeyStore = KeyStore.getInstance("PKCS12");
= newFileInputStream("D:/OpenSSL/bin/99bill-rsa.pfx");
char[]nPassword = "suning".toCharArray();
StringkeyAlias = null;
keyStore.load(fileInputStream,nPassword);
fileInputStream.close();
System.out.println("keystoretype=" + keyStore.getType());
Enumeration<String>enumeration = keyStore.aliases();
if(enumeration.hasMoreElements())
{
keyAlias = (String) enumeration.nextElement();
System.out.println("alias=[" + keyAlias +"]");
}
System.out.println("iskey entry=" + keyStore.isKeyEntry(keyAlias));
PrivateKeyprikey = (PrivateKey) keyStore.getKey(keyAlias, nPassword);
//私鑰轉成字元串
StringprivateStr = Base64.encodeBase64String(prikey.getEncoded()).trim();
//生成公鑰字元串,還可以通過cer證書生成
Certificatecert = keyStore.getCertificate(keyAlias);
PublicKeypubkey = cert.getPublicKey();
StringpublicStr = Base64.encodeBase64String(pubKey.getEncoded()).trim();
注意:
1. 所用類的說明:
Base64:
import org.apache.commons.net.util.Base64;
Certificate:
import java.security.cert.Certificate;
2. 在openssl生成公私鑰過程中,用戶輸入了密碼。本例中密碼為suning。

1. 摘要及生成方法
摘要的生成過程(digest方法全部實現了下述3個過程):
1. 根據key對傳來的map數據排序;
2. 生成a1=b1&a2=b2&a3=b3形式的字元串,排除某些字元串Key值;
3. 調用digest方法進行md5編碼;
以上三步均通過Digest.digest()方法實現:
String digest = Digest.digest(Map<String,String> map, String... keys);
傳遞的http報文體body內容如a1=b1&a2=b2&a3=b3形式的字元串,提取出需要加簽的字元串並轉成map形式。execludeKes是要排除的欄位,是一個字元串數組。
計算摘要這一步很關鍵,因為選取的欄位要求發送方和接收方必須一致,即發送方對哪些欄位計算摘要,那麼同樣地接收方也必須對相同的欄位計算摘要,否則會報6601的錯誤。
說明:a. Map是存儲了計算摘要的欄位
b. keys表示排除的欄位,不能用於計算摘要的欄位,如signature,signAlgorithm
2. 公鑰證書及字元串轉換方法
轉換的目的:便於存儲。(商戶直接提供公鑰證書也可以,但是對於向驗簽系統提供公鑰字元串的商戶,需要用下述代碼把公鑰轉成字元串)
1. 公鑰/私鑰字元串轉成公鑰/私鑰,主要是把字元串轉成公鑰PublicKey
X509EncodedKeySpec pubKeySpec = newX509EncodedKeySpec(Base64.decodeBase64(strPubKey));
KeyFactorykeyFactory = KeyFactory.getInstance(RSA);
PublicKeypubKey = keyFactory.generatePublic(pubKeySpec);
2. 公鑰或私鑰轉成Base64字元串:
StringpublicStr = Base64.encodeBase64String(pubKey.getEncoded()).trim();
3. 公私鑰驗證方法
驗證目的:公私鑰生成之後,需要驗證是否匹配。(之前許多商戶生成公私鑰混亂,無法確定公私鑰是否匹配就添加到驗簽系統中)。此代碼由用戶自己用junit驗證運行。驗證公私鑰生成是否正確,如果result為true,則說明公私鑰生成正確;否則生成的公私鑰有問題,不能使用。
String prik1 ="";
String pubb ="";
String data ="wkk";
String digest =Digest.digest(data);
PrivateKey privateKey =RSAUtil.getPrivateKey(prik1);
String sign =RSAUtil.sign(digest, privateKey);
boolean result =RSAUtil.vertiy(digest, sign,
RSAUtil.getPublicKey(pubb));
System.out.println(result);

㈧ 用openssl生成的ssl證書和付費的有什麼區別

用openssl生成的SSL證書即自簽名證書,存在安全隱患,而且不受瀏覽器信任。最好從正規第三方證書頒發機構去申請,還不用自己弄代碼那麼復雜,GDCA可以申請各類型SSL證書,免費付費的都有,看你需要。

㈨ 怎樣生成SSL證書和key求大神指導

使用OpenSSL工具可以生成key和SSL證書,但是這是自簽名SSL證書,存在安全隱患,瀏覽器不信任內,建議去受信任的第三容方機構申請正規SSL證書,安全性有保障,我就是在天威誠信申請的,挺靠譜的,下載一個證書智能管理系統就可以按步驟申請了

㈩ 怎麼自己生成SSL證書並且在伺服器里配置

不起作用,並不會被瀏覽器信任,反而增加了很多不安全因素。
創建自簽名證書的步驟

注意:以下步驟僅用於配置內部使用或測試需要的SSL證書。

第1步:生成私鑰

使用openssl工具生成一個RSA私鑰

$ openssl genrsa -des3 -out server.key 2048

說明:生成rsa私鑰,des3演算法,2048位強度,server.key是秘鑰文件名。

注意:生成私鑰,需要提供一個至少4位的密碼。

第2步:生成CSR(證書簽名請求)

生成私鑰之後,便可以創建csr文件了。

此時可以有兩種選擇。理想情況下,可以將證書發送給證書頒發機構(CA),CA驗證過請求者的身份之後,會出具簽名證書(很貴)。另外,如果只是內部或者測試需求,也可以使用OpenSSL實現自簽名,具體操作如下:

$ openssl req -new -key server.key -out server.csr

說明:需要依次輸入國家,地區,城市,組織,組織單位,Common Name和Email。其中Common Name,可以寫自己的名字或者域名,如果要支持https,Common Name應該與域名保持一致,否則會引起瀏覽器警告。

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:Beijing

Locality Name (eg, city) []:Beijing

Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios

Organizational Unit Name (eg, section) []:info technology

Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com

Email Address []:[email protected]

第3步:刪除私鑰中的密碼

在第1步創建私鑰的過程中,由於必須要指定一個密碼。而這個密碼會帶來一個副作用,那就是在每次Apache啟動Web伺服器時,都會要求輸入密碼,這顯然非常不方便。要刪除私鑰中的密碼,操作如下:

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

第4步:生成自簽名證書

如果你不想花錢讓CA簽名,或者只是測試SSL的具體實現。那麼,現在便可以著手生成一個自簽名的證書了。

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

說明:crt上有證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息。當用戶安裝了證書之後,便意味著信任了這份證書,同時擁有了其中的公鑰。證書上會說明用途,例如伺服器認證,客戶端認證,或者簽署其他證書。當系統收到一份新的證書的時候,證書會說明,是由誰簽署的。如果這個簽署者確實可以簽署其他證書,並且收到證書上的簽名和簽署者的公鑰可以對上的時候,系統就自動信任新的證書。

第5步:安裝私鑰和證書

將私鑰和證書文件復制到Apache的配置目錄下即可,在Mac 10.10系統中,復制到/etc/apache2/目錄中即可。

需要注意的是,在使用自簽名證書時,瀏覽器會提示證書不受信任,如果你是對外網站使用,建議還是去CA機構申請可信的SSL證書。

閱讀全文

與openssl生成https證書相關的資料

熱點內容
山東省基本公共衛生服務項目實施方案 瀏覽:349
投訴制凝 瀏覽:932
黑警投訴 瀏覽:95
國培預期研修成果 瀏覽:151
知識產權專利培訓心得 瀏覽:974
工商登記需要提供什麼資料 瀏覽:683
大連使用權房子辦產權需要花多少錢 瀏覽:630
長春工商局投訴電話 瀏覽:519
湖北省基本公共衛生服務規范 瀏覽:393
國家歌曲版許可權制 瀏覽:860
開題預期成果怎麼寫 瀏覽:223
2016年4月自考知識產權法試題答案 瀏覽:741
民事案件申訴的期限 瀏覽:706
計算機軟體著作權許可合同範本 瀏覽:281
馬鞍山市政府王曉焱 瀏覽:176
vn豬年限定 瀏覽:90
馬鞍山金蘋果駕校 瀏覽:324
軟體使用權合作協議 瀏覽:123
七日殺75創造模式 瀏覽:905
濰坊高新區公共行政審批服務中心 瀏覽:455