㈠ 如何查看windows伺服器端和客戶端openssl版本
一、准備工作
1.windows2003添加組件
添加IIS:勾選「應用程序伺服器」,然後雙擊進入下圖,勾選「IIS」和「ASP.NET」
添加證書系統:勾選「證書服務」
添加組件的時候要求填寫的就按照操作填上就行了,然後下一步,直到完成。
2.把openssl(執行版,有的叫編譯後版)解壓到d:下,當然哪個盤都可以。
二、獲取IIS證書請求
架設好IIS網站後,在【目錄安全性】選項卡中點擊【伺服器證書】按鈕,【下一步】,【新建證書】,【現在准備證書請求--下一步】,輸入【名稱】,輸入【單位】和【部門】,輸入【公用名稱】,選擇【國家】並輸入【省】和【市縣】並【下一步】,【下一步】,【下一步】,【完成】,IIS的證書請求已經獲取,就是C:\certreq.txt。這里請牢記輸入的信息。
三、開始操作openssl
(cmd –> d:\openssl-0.9.7\out32dll
下執行下面的操作,注意openssl.cnf文件,後面命令都是用它編譯的)
1.生成自簽名根證書
openssl
req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -days 3650 -config
d:\openssl-0.9.7\apps\openssl.cnf
PEM pass phrase:根證書密碼,當然很重要!
Country
Name: CN //兩個字母的國家代號
State or Province Name: guang dong //省份名稱
Locality
Name: guang zhou //城市名稱
Organization Name: sunrising //公司名稱
Organizational Unit Name: home //部門名稱
Common Name: besunny
//你的姓名(要是生成伺服器端的證書一定要輸入域名或者ip地址)
Email Address: Email地址
2.把cakey.pem 拷貝到\demoCA\private,
把cacert.pem拷貝到out32dll\demoCA
cakey.pem
demoCA\private
cacert.pem
demoCA
提醒:這時候,已經有cakey.pem:ca的私鑰文件,cacert.pem:ca的自簽名根證書,certreq.txt:IIS的證書請求文件,三個文件。
3.用CA證書cacert.pem為IIS請求certreq.txt簽發證書server.pem
openssl ca -in certreq.txt -out server.pem -config
d:\openssl-0.9.7\apps\openssl.cnf
4.把server.pem轉換成x509格式
openssl
x509 -in server.pem -out
server.cer
提醒:這時候,你又得到了兩個文件,一個是server.pem,一個是server.cer。現在把bin下的server.cer復制到c:下。
5.將生成的證書server.cer導入到IIS
打開IIS,在【默認網站】上單擊右鍵【屬性】,在【目錄安全性】選項卡中點擊【伺服器證書】按鈕,【下一步】,選擇【處理掛起的請求並安裝證書】並【下一步】,正常情況下,您已經看到了文本框中就是c:\server.cer,如果不是,自己點【瀏覽】按鈕去找並【下一步】,【下一步】,【完成】。回到【目錄安全性】選項卡在【安全通信】欄目中單擊【編輯】按鈕,勾上【要求安全通道(SSL)】,勾上【要求128位加密】,選擇【要求客戶端證書】,點擊【確定】按鈕。
6.生成客戶端證書
openssl
req -newkey rsa:1024 -keyout clikey.pem -out clireq.pem -days 365 -config
d:\openssl-0.9.7\apps\openssl.cnf
證書信息自己填寫,有些內容要與根證書一致。
7.CA簽發客戶端證書
openssl ca -in
clireq.pem -out client.crt -config d:\openssl-0.9.7\apps\openssl.cnf
8.將客戶端證書轉換為pk12格式
openssl pkcs12 -export -clcerts -in client.crt -inkey clikey.pem -out
client.p12 -config d:\openssl-0.9.7\apps\openssl.cnf
9.安裝信任的根證書
把cacert.pem改名為cacert.cer,雙擊cacert.cer文件,打開證書信息窗口,單擊【安裝證書】按鈕,【下一步】。
提醒,下面是最關鍵的:
選擇【將所有的證書放入下列存儲區】,點擊【瀏覽】按鈕
[url=file:///C:/Documents][/url]
選擇【受信任的根證書頒發機構】,勾選【物理存儲區】,選擇【受信任的根證書頒發機構】,點【本地計算機】,並點擊【確定】,【下一步】,【完成】,【是】,根證書安裝完畢!勾選【物理存儲區」,選擇「受信任的根證書頒發機構」,點「本地計算機」,然後點「確定」。
[url=file:///C:/Documents][/url]
「clent.crt」的安裝也是上面相同的步驟。
10.安裝客戶端證書
找到client.p12文件拷貝到本地計算機,然後雙擊,【下一步】,【下一步】,輸入客戶端證書的密碼並【下一步】,【下一步】,【完成】,【確定】。到此,客戶端的證書也已經安完畢。
提醒:
最好把cacert.cer文件作為受新人的根證書安裝到本地。我架設的是提供給內網使用的,所以Common
Name直接是內網IP,當然可以是域名,如果導入cacert.cer後,本地計算機就識別https://你的地址是可信任網站,直接由伺服器就識別客戶端的證書,然後就可以登陸了。
如果沒有導入cacert.cer根證書,會提示下面的:
點「是」繼續就可以了。然後還會彈出選擇客戶端數字證書的提示框。
㈡ Linux CentOS 怎麼使用openssl 向windows server CA證書伺服器申請web證書。求詳細過程。
1、.key和.cer可以合並成pfx或p12文件
2、例如
openssl pkcs12 -export -clcerts -in a.cer -inkey a.key -out a.p12
㈢ openssl作為CA使用時,證書配置文件有certs= $dir/certs和 new_cert
# 已生成的證書的默認保存目錄
certs = $dir/certs
# 存放新簽發證書的默認目錄,證書名就是該證書的系列號,後綴是.pem
new_certs_dir = $dir/newcerts
㈣ openssl 自簽名證書怎麽配置到windows server 2008 r2 tomcat伺服器上
用php的openssl_x509_parse函數解析用戶證書user.cer和根證書server.cer ,在比較用戶證書與根證書的頒發機構等信息,如果是相同的則說明用戶證書是根證書頒發,即為合法證書,反之則不合法
㈤ 我用linux的openssl自建CA並簽發證書,自建的CA在windows下顯示不能頒發證書!!如圖:
證書導入必須出現導入證書機構代碼、才能正常使用
㈥ 用openssl命令查看ssl證書信息出錯,原因
網上的命令不用於windows伺服器,還有證書信息在證書本身打開就可以看到,詳情加密演算法,協議版本可以搜索: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的過程慢慢發現很多這樣的小功能,讓你不斷有新的驚喜。