假設須要使用ssl的服務;node
製做簽署證書的CA;算法
在對應服務主目錄下生成密鑰、簽發請求;
centos
簽發證書;
ide
____________________________________________加密
架設服務spa
(略)
翻譯
做CAserver
vi /etc/pki/tls/openssl.conf
blog
openssl genrsa 1024 > cakey.pemssl
chmod 600 cakey.pem
cp cakey.pem /etc/pki/CA/private/cakey.pem
openssl req -new -x509 -key cakey.pem -out CA.crt -days 36500
cp CA.crt /etc/pki/CA/cacert.pem
touch /etc/pki/CA/index.txt
touch /etc/pki/CA/serial
echo 01 >> /etc/pki/CA/serial
cd /etc/pki/CA
mkdir crl certs newcerts
生成密鑰、生成簽發請求
openssl genrsa 1024 > ftps.key
openssl genrsa 1024 > https.key
openssl genrsa 1024 > imaps.key
openssl genrsa 1024 > pop3s.key
openssl genrsa 1024 > smtps.key
openssl req -new -key ftps.key -out ftps.csr
openssl req -new -key https.key -out https.csr
openssl req -new -key imaps.key -out imaps.csr
openssl req -new -key pop3s.key -out pop3s.csr
openssl req -new -key smtps.key -out smtps.csr
簽發證書
openssl ca -in ftps.csr -out ftps.crt
openssl ca -in https.csr -out https.crt
openssl ca -in imaps.csr -out imaps.crt
openssl ca -in pop3s.csr -out pop3s.crt
openssl ca -in smtps.csr -out smtps.crt
ls *.crt
cat *.crt
Old
# apt-get install openssl (debian)
# yum install openssl (centos)
# emerge openssl (gentoo)
# cd openssl-1.0.1e
# ./configure --prefix=/usr/local/openssl
# cd /usr/local/openssl
# find . -name CA*
# ln /usr/loca..../CA.sh /sbin/ca
# chmod 755 /sbin/ca
================================
生成密鑰(rsa 密鑰)
生成非對稱密碼對之私鑰
# openssl genrsa -out server.key
生成私鑰的公鑰
# openssl rsa -in server.key -pubout -out server.pub
查看私鑰
# openssl rsa -in server.key
查看公鑰
# openssl rsa -in server.key -pubout
使用已建立的RSA密鑰文件建立一個自簽名的X509證書
# openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt
生成證書
# openssl genrsa -out hhh.key
生成密鑰
# openssl req -new -key hhh.key -out hhh.csr
生成證書
「證書籤署請求CSR」
# openssl ca -in client.csr -out client.crt
簽發證書
# openssl x509 -req -days 365 -in hhh.csr -signkey hhh.key -out hhh.crt
生成x509自簽名證書
翻譯來自:
http://www.openssl.org/docs/HOWTO/
----------------------------密鑰----------------------------
密鑰,成對出現,一個私鑰、一個公鑰。私鑰包含公鑰信息,所以沒有必要單首創建對應的公鑰。建立證書最流行的算法是 RSA & DSA。
建立 RSA 密鑰;用途:加密、簽名
# openssl genrsa -des3 -out privkey.pem 2048
若是須要去掉密碼加密,去掉選項 「-des3」。
# openssl rsa -in privkey.pem
# openssl rsa -in privkey.pem -pubout
建立 DSA 密鑰;用途:僅僅用來簽名
DSA 加密算法的密鑰建立分兩步:生成一個參數,依據該參數生成密鑰。
# openssl dsaparam -out dsaparam.pem 2048
# openssl gendsa -des3 -out privkey.pem dsaparam.pem
能夠使用同一參數文件,建立多個密鑰
# openssl dsa -in privkey.pem
# openssl dsa -in privkey.pem -pubout
----------------------------證書----------------------------
獲得一個證書,跟配置文件有着必定關係。要是不一樣的配置文件能夠使用選項 「-config {file}」。證書是跟一個公鑰相關聯的。
建立「認證請求」
認證請求用來發送給某個認證機構去簽名爲證書。要不,就是本身擁有一個認證機構,本身完成簽名。或者直接建立一個自簽名證書,用於實驗目的。
# openssl req -new -key privkey.pem -out cert.csr
# openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
* 依據不一樣的應用,可能須要轉換私鑰和證書的格式。或者須要把私鑰和證書和爲一體。(證書格式:DER PEM)