成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

https證書(shū)互信解決方案—?jiǎng)?chuàng)建私有CA并申請(qǐng)證書(shū)

raoyi / 2286人閱讀

摘要:實(shí)際情況中,內(nèi)部系統(tǒng)的互相通信使用,往往不可能向公有申請(qǐng)證書(shū)申請(qǐng)證書(shū)需要很高的費(fèi)用,故我們需要?jiǎng)?chuàng)建一個(gè)私有來(lái)申請(qǐng)證書(shū)實(shí)現(xiàn)通信。

前言

https相較于http而言有很大的安全性,當(dāng)我們一個(gè)服務(wù)開(kāi)啟https并與之通信時(shí),往往需要證書(shū)的認(rèn)證,如果是瀏覽器訪問(wèn)服務(wù),只要在瀏覽器內(nèi)設(shè)置信任證書(shū)即可,而如果是程序內(nèi)訪問(wèn)服務(wù)(如java程序),則需要導(dǎo)入該服務(wù)的證書(shū)所信任的證書(shū)。

實(shí)際情況中,內(nèi)部系統(tǒng)的互相通信使用https,往往不可能向公有CA申請(qǐng)證書(shū)(申請(qǐng)證書(shū)需要很高的費(fèi)用),故我們需要?jiǎng)?chuàng)建一個(gè)私有CA來(lái)申請(qǐng)證書(shū)實(shí)現(xiàn)https通信。

名詞介紹 CA和證書(shū)認(rèn)證

詳見(jiàn)我的一篇博文:https簡(jiǎn)單解讀

實(shí)現(xiàn)步驟 環(huán)境介紹

64位 centos 7.X操作系統(tǒng)

裝有openssl命令

構(gòu)建私有CA

CA要給別人簽發(fā)證書(shū),首先自己得有一個(gè)作為根證書(shū),我們得在一切工作之前修改好CA的配置文件、序列號(hào)、索引等等。

輸入以下命令更改配置文件:

vi /etc/pki/tls/openssl.cnf

配置文件更改以下部分:

[ CA_default ]
 
dir             = /etc/pki/CA           # Where everything is kept
certs           = $dir/certs            # Where the issued certs are kept
crl_dir         = $dir/crl              # Where the issued crl are kept
database        = $dir/index.txt        # database index file.
#unique_subject = no                    # Set to "no" to allow creation of
                                        # several ctificates with same subject.
new_certs_dir   = $dir/newcerts         # default place for new certs.
 
certificate     = $dir/cacert.pem       # The CA certificate
serial          = $dir/serial           # The current serial number
crlnumber       = $dir/crlnumber        # the current crl number
                                        # must be commented out to leave a V1 CRL
crl             = $dir/crl.pem          # The current CRL
private_key     = $dir/private/cakey.pem # The private key
RANDFILE        = $dir/private/.rand    # private random number file
...
default_days    = 3650                  # how long to certify for
...
# For the CA policy
[ policy_match ]
countryName             = match
stateOrProvinceName     = optional
localityName            = optional
organizationName        = optional
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional

在/etc/pki/CA目錄創(chuàng)建兩個(gè)文件index.txt和serial:

cd /etc/pki/CA && touch index.txt serial && echo 01 > serial

仍在當(dāng)前目錄下生成一個(gè)CA私鑰cakey.pem和自簽證書(shū)cacert.pem:

openssl genrsa -out private/cakey.pem 2048
openssl req -new -x509 -key private/cakey.pem -out cacert.pem

生成公鑰的時(shí)候會(huì)提示輸入一些信息,例子如下:

Country Name (2 letter code) []:CN                                 #國(guó)家名
State or Province Name (full name) []:hangzhou                     #省份名
Locality Name (eg, city) []:hangzhou                               #地名
Organization Name (eg, company) []:company                         #公司名
Organizational Unit Name (eg, section) []:unit                     #部門(mén)名
Common Name (eg, your websites domain name) []:localhost           #服務(wù)域名
Email Address []:                                                  #電子郵件

后面一些信息可按回車(chē)略過(guò)

這里比較重要的是Comman Name填寫(xiě)的是服務(wù)的域名地址,即如果該證書(shū)用于某個(gè)服務(wù)則填該服務(wù)的域名地址(如用于百度服務(wù)器,則填寫(xiě)www.baidu.com)

本方案的CA證書(shū)不用于某個(gè)服務(wù),故可填localhost

私有CA簽署證書(shū)

為一個(gè)服務(wù)生成私鑰server.key和一個(gè)證書(shū)請(qǐng)求文件server.csr:

openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr

生成證書(shū)請(qǐng)求文件時(shí),仍會(huì)提示輸入一些信息,例子如下:

Country Name (2 letter code) []:CN                                 #國(guó)家名
State or Province Name (full name) []:hangzhou                     #省份名
Locality Name (eg, city) []:hangzhou                               #地名
Organization Name (eg, company) []:company                         #公司名
Organizational Unit Name (eg, section) []:unit                     #部門(mén)名
Common Name (eg, your websites domain name) []:XXX.XXX.XXX         #服務(wù)域名
Email Address []:                                                  #電子郵件

這里的Common Name就應(yīng)該填你實(shí)際服務(wù)所用的域名了

下面將該證書(shū)請(qǐng)求文件server.csr由你構(gòu)建的私有CA簽署,生成一個(gè)server.crt證書(shū):

openssl x509 -req -in server.csr -CA /etc/pki/CA/cacert.pem -CAkey /etc/pki/CA/private/cakey.pem -CAcreateserial -out server.crt

到此為止,server.crt證書(shū)可用于服務(wù)提供https訪問(wèn),客戶端若想訪問(wèn)該服務(wù),導(dǎo)入CA根證書(shū)cacert.pem即可。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72734.html

相關(guān)文章

  • Nginx(3)-創(chuàng)建 https 站點(diǎn)

    摘要:常見(jiàn)的對(duì)稱加密算法密鑰長(zhǎng)度可選等非對(duì)稱加密非對(duì)稱加密,密鑰成對(duì)出現(xiàn),一公一私。申請(qǐng)者將自己的公鑰和個(gè)人站點(diǎn)信息發(fā)送給,請(qǐng)求其做認(rèn)證。定義了證書(shū)的結(jié)構(gòu)以及認(rèn)證協(xié)議標(biāo)準(zhǔn),目前使用的是第三版。 對(duì)稱加密 對(duì)稱加密中加密和解密使用相同的密鑰,加解密速度快,算法公開(kāi),計(jì)算量小。 showImg(https://segmentfault.com/img/bVbp5uW); 使用對(duì)稱加密,交易雙方都...

    hss01248 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<