- 相關(guān)推薦
用OPENSSL實(shí)現(xiàn)電子商務(wù)中的CA認(rèn)證
摘要:本文主要介紹了使用公開源代碼的工具OpenSSL來完成數(shù)字證書的簽署,實(shí)現(xiàn)電子商務(wù)中的CA認(rèn)證的過程。
關(guān)鍵詞:電子商務(wù);OpenSSL;CA認(rèn)證
1. 前言
作為電子商務(wù)的安全核心SSL協(xié)議在電子商務(wù)安全性方面扮演了重要的角色。本文就是從安全技術(shù)角度介紹了以公開源代碼的工具OpenSSL來實(shí)現(xiàn)電子商務(wù)中的安全認(rèn)證過程。
2. SSL(Secure Socket Layer)協(xié)議及其主要技術(shù)
1996年由美國Netscape公司開發(fā)和倡導(dǎo)的SSL協(xié)議,它是目前安全電子商務(wù)交易中使用最多的協(xié)議之一,它被許多世界知名廠商的Intranet和Internet網(wǎng)絡(luò)產(chǎn)品所支持。
SSL應(yīng)用在Client和Server間安全的Web HTTP通信,URL以https開始替代http,并使用443端口進(jìn)行通信。它主要使用加密機(jī)制、數(shù)字簽名、數(shù)字摘要、身份認(rèn)證、CA認(rèn)證技術(shù)提供Client和Server之間的秘密性、完整性、認(rèn)證性三種基本的安全服務(wù)。
3. 用OpenSSL工具實(shí)現(xiàn)安全認(rèn)證
目前,國外主流的電子商務(wù)安全協(xié)議在核心密碼算法上都有出口限制,如只允許40位或56位的RC4和512位的RSA算法出口等。這樣的算法強(qiáng)度引進(jìn)后無法滿足我國電子商務(wù)實(shí)際應(yīng)用當(dāng)中的安全需求。但是,完全自主定義和開發(fā)一套安全標(biāo)準(zhǔn)體系不是一蹴而就的事情,需要人、財、物的長期投入。
因此,如何對國外主流的電子商務(wù)安全協(xié)議的安全模塊進(jìn)行改造,用國內(nèi)先進(jìn)的密碼算法替換其相應(yīng)的安全強(qiáng)度不夠的算法,變?yōu)閲a(chǎn)的強(qiáng)安全協(xié)議,這樣就能較好地提高我國電子商務(wù)安全技術(shù)水平。
在SSL未提供源代碼的情況下,由澳大利亞軟件工程師Eric Young與Tim Hudson聯(lián)合開發(fā)的OpenSSL恰好解決了這一難題。它不僅能實(shí)現(xiàn)SSL的所有功能,支持目前所有基于SSL V2/V3和TSL V1的應(yīng)用軟件,而且由于源代碼公開和提供了各種加密算法,完全可以滿足國外安全協(xié)議引進(jìn)后的本地化改造需求。
下面就用OpenSSL提供的強(qiáng)大功能在FreeBSD平臺下進(jìn)行手工簽署證書的過程。
⑴ 先建立一個 CA 的證書,首先為 CA 創(chuàng)建一個 RSA 私用密鑰:
# OpenSSL genrsa -des3 -out ca.key 1024
該指令中g(shù)enras表示生成RSA私有密鑰文件。
-des3表示用DES3加密該文件。
-out ca.key表示生成文件ca.key。
1024是我們的RSA key的長度。
生成server.key的時候會要你輸入一個密碼,這個密鑰用來保護(hù)你的ca.key文件,這樣即使人家偷走你的ca.key文件,也打不開,拿不到你的私有密鑰。
運(yùn)行該指令后系統(tǒng)提示輸入 PEM pass phrase,也就是ca.key文件的加密密碼,這里設(shè)為12345678。
⑵ 用下列命令查看它的內(nèi)容:
# OpenSSL rsa -noout -text -in ca.key
該指令中rsa表示對RSA私有密鑰的處理。
-noout表示不打印出key的編碼版本信息。
-text表示打印出私有密鑰的各個組成部分。
-in ca.key 表示對ca.key文件的處理
對RSA算法進(jìn)行分析可以知道,RSA的私有密鑰其實(shí)就是三個數(shù)字,其中兩個是質(zhì)數(shù)prime numbers。產(chǎn)生RSA私有密鑰的關(guān)鍵就是產(chǎn)生這兩個質(zhì)數(shù)。還有一些其他的參數(shù),引導(dǎo)著整個私有密鑰產(chǎn)生的過程。
⑶ 利用 CA 的 RSA 密鑰創(chuàng)建一個自簽署的 CA 證書
# OpenSSL req -new -x509 -days 365 -key ca.key -out ca.crt
該指令中req用來創(chuàng)建和處理CA證書,它還能夠建立自簽名證書,做Root CA。
-new 產(chǎn)生一個新的CSR, 它會要輸入創(chuàng)建證書請求CSR的一些必須的信息。
-x509 將產(chǎn)生自簽名的證書,一般用來做測試用,或者自己做個Root CA用。
-days 365 指定我們自己的CA給人家簽證書的有效期為365天。
-key ca.key指明我們的私有密鑰文件名為ca.key。
-out ca.crt指出輸出的文件名為ca.crt。
執(zhí)行該指令時系統(tǒng)要求用戶輸入一些用戶的信息,如下所示:(框內(nèi)為輸入的內(nèi)容)
Using configuration from /etc/ssl/OpenSSL.cnf
Enter PEM pass phrase:12345678
You 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 Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN (兩個字母的國家代號)
State or Province Name (full name) [Some-State]:JIANG SU (省份名稱)
Locality Name (eg, city) []:ZHANGJIAGANG (城市名稱)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:FAMILY NETWORK (公司名稱)
Organizational Unit Name (eg, section) []:HOME (部門名稱)
Common Name (eg, YOUR name) []:TJL (你的姓名)
Email Address []:TJL@WX88.NET (
【用OPENSSL實(shí)現(xiàn)電子商務(wù)中的CA認(rèn)證】相關(guān)文章:
淺談刑事痕跡勘驗(yàn)工作中電子證據(jù)的收集與認(rèn)證04-29
用Verilog HDL實(shí)現(xiàn)I2C總線功能06-01
談電子商務(wù)中的網(wǎng)絡(luò)安全治理08-25
試論文學(xué)作品中“陌生化”手法的價值和實(shí)現(xiàn)途徑05-29
淺談企業(yè)并購中的管理協(xié)同效應(yīng)及其實(shí)現(xiàn)論文(精選5篇)04-29
發(fā)揮電子商務(wù)在物資供給企業(yè)中的作用研究06-04
電子商務(wù)在國際貿(mào)易中的運(yùn)用論文(精選14篇)05-12