未配置證書的訪問:
生成證書:
Keytool:
生成數字證書:自簽名X509證書
PS F:\開發工具\apache-tomcat-9.0.11\conf> keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36
000 -alias
org.windwant.com -keystore windwant.store
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什么?
[Unknown]:
org.windwant.com
您的組織單位名稱是什么?
[Unknown]: ca
您的組織名稱是什么?
[Unknown]: ca
您所在的城市或區域名稱是什么?
[Unknown]: ca
您所在的省/市/自治區名稱是什么?
[Unknown]: ca
該單位的雙字母國家/地區代碼是什么?
[Unknown]: ca
CN=
org.windwant.com, OU=ca, O=ca, L=ca, ST=ca, C=ca是否正確?
[否]: y
輸入 <
org.windwant.com> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
再次輸入新口令:
genkeypair:生成秘鑰;keyalg:秘鑰算法;keysize:秘鑰長度;sigalg:數字簽名算法;validity:有效期;alias:別名;keystore:存儲位置
注意:標黑位置,證書授予者使用的域名或ip,如訪問使用:https://org.windwant.com:8443
org.windwant.com 需要在host文件里進行配置;127.0.0.1
org.windwant.com
導出:
PS F:\開發工具\apache-tomcat-9.0.11\conf> keytool -exportcert -alias
org.windwant.com -keystore windwant.store -file win
dwant.cer -rfc
輸入密鑰庫口令:
存儲在文件 <windwant.cer> 中的證書
openssl:
創建隨機數:
[root@zookeeper cert]# openssl rand -out private/.rand 1000
生成私鑰:
[root@zookeeper cert]# openssl genrsa -aes256 -out private/ca.key.pem 2048
openssl使用PEM編碼格式(privacy enbanced mail)存儲私鑰;genrsa:生成RSA私鑰;aes256:使用aes(256位秘鑰)對私鑰加密
根證書簽發申請:
[root@zookeeper cert]# openssl req -new -key private/ca.key.pem -out private/ca.csr
...
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:bj
Locality Name (eg, city) [Default City]:bj
Organization Name (eg, company) [Default Company Ltd]:localhost
Organizational Unit Name (eg, section) []:localhost
Common Name (eg, your name or your server's hostname) []:localhost
Email Address []:localhost
...
req:產生證書簽發申請命令;new:新請求;key:秘鑰;
localhost:證書授予者使用的域名或ip
簽發根證書:
[root@zookeeper cert]# openssl x509 -req -days 10000 -sha1 -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -signkey private/ca.key.pem -in private/ca.csr -out certs/ca.cer
x509:簽發x509格式證書命令;req:證書輸入請求;days:有效期;sha1:證書摘要算法;extfile:配置文件;extensions:添加擴展 使用v3_ca擴展;signkey:自簽名秘鑰;in:簽發申請文件;out:證書文件
秘鑰庫使用兩種方式:
>1 證書轉換為pkcs12(個人信息交換文件)格式,可以作為秘鑰庫或者信任庫使用: tomcat配置keystoreFile="conf/ca.p12"
[root@zookeeper cert]# openssl pkcs12 -export -cacerts -inkey private/ca.key.pem -in certs/ca.cer -out certs/ca.p12
[root@zookeeper cert]# keytool -list -keystore certs/ca.p12 //查看秘鑰庫信息
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
1, Aug 28, 2018, PrivateKeyEntry,
Certificate fingerprint (SHA1): A9:34:42:EE:AC:9C:06:E0:2B:AF:91:64:20:7F:10:FB:0A:40:07:DD
>2 生成keystore:tomcat配置keystoreFile="conf/ca.store"
[root@zookeeper cert]# keytool -genkey -keystore ca.store
[root@zookeeper cert]# keytool -list -keystore .\windwant.store //查看秘鑰庫信息
輸入密鑰庫口令:
密鑰庫類型: JKS
密鑰庫提供方: SUN
您的密鑰庫包含 1 個條目
org.windwant.com, 2018-8-28, PrivateKeyEntry,
證書指紋 (SHA1): CE:CD:6B:07:29:19:77:B1:2B:B6:4C:6B:1E:B5:76:C7:42:E3:08:14
導入openssl生成的證書:
[root@zookeeper cert]# keytool -importcert -trustcacerts -alias localhost -file ca.cer -keystore ca.store
配置tomcat:
對於端口8443 添加如下配置:秘鑰庫路徑,密碼
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"
sslProtocal="TLS" keystoreFile="conf/windwant.store" keystorePass="123456">
<!-- <SSLHostConfig>
<Certificate certificateKeystoreFile="D:/tmp/cert/windwant.cer"
type="RSA" />
</SSLHostConfig> -->
</Connector>
瀏覽器導入證書:
注意:添加到受信任的根證書頒發機構
訪問:不再提示證書問題