1. 程式人生 > >通過openssl生成nginx和tomcat的https通訊雙向證書

通過openssl生成nginx和tomcat的https通訊雙向證書

前提:nginx作為服務端,java httpclient作為客戶端

nginx需要增加nginx ssl的模組:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/openssl

此時,可能還需要解決make時,openssl路徑的問題,參考:

http://blog.csdn.net/u013091013/article/details/53640318

************************************指令 開始**************************************************

=======================================================
===================== 生成nginx證書 ===================
=======================================================



=====================根證書====================
1)建立根證私鑰  
openssl genrsa -out root-key.key 1024

2)建立根證書請求檔案  
openssl req -new -out root-req.csr -key root-key.key

3)自籤根證書  
openssl x509 -req -in root-req.csr -out root-cert.cer -signkey root-key.key -CAcreateserial -days 730


=====================服務端====================


4)生成服務端key  
openssl genrsa -out server-key.key 1024

5)生成服務端請求檔案  
openssl req -new -out server-req.csr -key server-key.key

6)生成服務端證書
openssl x509 -req -in server-req.csr -out server-cert.cer -signkey server-key.key -CA root-cert.cer -CAkey root-key.key -CAcreateserial -days 730

=====================客戶端====================

7)生成客戶端key  
openssl genrsa -out client-key.key 1024

8)生成客戶端請求檔案  
openssl req -new -out client-req.csr -key client-key.key

9)生成客戶端證書(root證書,rootkey,客戶端key,客戶端請求檔案這4個生成客戶端證書)  
openssl x509 -req -in client-req.csr -out client-cert.cer -signkey client-key.key -CA root-cert.cer -CAkey root-key.key -CAcreateserial -days 730

10)生成客戶端p12格式根證書
openssl pkcs12 -export -clcerts -in client-cert.cer -inkey client-key.key -out client.p12


密碼:client123456


=======================================================
=====================生成tomcat證書====================
===tomcat-root.truststore 和 tomcat-server.p12 ========
=======================================================



=====================ca====================
1).根據CA證書生成truststore JKS檔案 root.truststore
//這一步只針對雙向認證,單向不需要
keytool -keystore tomcat-root.truststore -keypass root123456 -storepass root123456 -alias ca -import -trustcacerts -file root-cert.cer

密碼:root123456
=====================服務端====================
1).匯出.p12檔案 server.p12
(根據命令提示,輸入server.key密碼,建立p12密碼)
openssl pkcs12 -export -in server-cert.cer -inkey server-key.key -out tomcat-server.p12 -name "server"

密碼:server123456

2).將.p12 檔案匯入到keystore JKS檔案 server.keystore
(這裡srcstorepass後面的server123456為server.p12的密碼deststorepass後的server123456為keyStore的密碼)
keytool -importkeystore -v -srckeystore tomcat-server.p12 -srcstoretype pkcs12 -srcstorepass server123456 -destkeystore tomcat-server.keystore -deststoretype jks -deststorepass server123456

密碼:server123456
=======================================================
================  java http client ====================

=======================================================

keytool -import -v -alias trustsrv -file root-cert.cer -keystore trustsrv.jks -storepass trust123456

keystore:client.p12

truststore:trustsrv.jks

*************************************指令 結束**************************************************

參考:http://blog.csdn.net/qq315737546/article/details/52864220

          https://www.jianshu.com/p/045f95c008a0

相關推薦

通過openssl生成nginxtomcat的https通訊雙向證書

前提:nginx作為服務端,java httpclient作為客戶端nginx需要增加nginx ssl的模組:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_s

如何在CentOS 6上通過YUM安裝NginxPHP-FPM(轉)

木馬 dlink baidu centos 6 service 允許 dev dap mes 準備篇: 1、配置防火墻,開啟80端口、3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --stat

通過openssl生成sm2的公私鑰的方法

在openssl中,支援sm2的公私鑰的生成方法,不過其名稱並不是sm2的字面意思,而是ec, 到openssl的apps資料夾下,輸入命令如下所示: ./openssl ecparam -genkey -name SM2 -out priv.key 其中SM2是一個曲

【HTTPS】使用OpenSSL生成帶有SubjectAltName的自簽名證書

操作步驟 首先新建一個配置檔案 ssl.conf如下: [ req ] default_bits = 4096 distinguished_name = req_distinguished_

如何使用OpenSSL生成帶有SubjectAltName的自簽名證書

Can someone help me with the exact syntax?它的三步過程,它涉及修改openssl.cnf檔案。你可能能夠使用命令列選項,但我不這樣做。找到你的openssl.cnf檔案。它可能位於/usr/lib/ssl/openssl.cnf:$ find /usr/lib -na

openssl 生成自簽證書及檢視證書細節

生成X509格式的CA自簽名證書 # openssl req -new -x509 -keyout ca.key -out c

靈活多變的keytoolopenssl生成證書,應用tomcatnginx

靈活多變的keytool和openssl生成證書,應用tomcat和nginx 文章目錄 前言 什麼是證書?為什麼要使用證書? 證書格式轉換 證書格式 keytool是什麼? 主要格式 test.

詳解win10 64位系統下是如何安裝OpenSSL? 及通過openssl工具生成RSA的公鑰私鑰

預備工具: 安裝環境:Windows10旗艦版 -64位  +  Microsoft Visual Studio2013 相關軟體:vs2013、ActivePerl-5.24.3、openssl-1

Https、OpenSSL自建CA證書及簽發證書nginx單向認證、雙向認證及使用Java訪問

1.5 image echo create etc 保存 config openss ima 0.環境 安裝了nginx,安裝了openssl 1.配置和腳本 先創建一個demo目錄(位置自己選擇,我選擇建在nginx的目錄下): mkdir /etc/nginx/

windows 下OPENSSL 生成秘鑰公鑰的方法

十六進制 pk8 rsa私鑰 nbsp 十六 格式 top 生成 pen 1. 生成原始 RSA私鑰文件 private_key.pem openssl genrsa -out private_key.pem 1024 2. 將原始 RSA私鑰轉換為

如何使用openssl生成RSA公鑰私鑰對

在ubuntu上要使用openssl的話需要先進行安裝,命令如下: sudo apt-get install openssl 安裝完成就可以使用openssl了。 首先需要進入openssl的互動介面,在命令行了輸入openssl即可; 1)生成RSA私鑰:

通過idea-mybatis-generator外掛生成實體mapper

通過idea-mybatis-generator外掛生成實體和mapper 外掛安裝 首先開啟外掛市場 搜尋idea-mybatis-generator外掛 外掛使用 開啟外掛 配置

zedboard通過BRAM實現PSPL的簡單通訊

使用Block Memory進行PS和PL的資料互動或者資料共享,通過zynq PS端的Master GP0埠向BRAM寫資料,然後再通過PS端的Mater GP1把資料讀出來,將結果列印輸出到串列埠終端顯示。涉及到AXI BRAM Controller 和 Block Memery Generator等IP

Android USB Host與USB Hid裝置的通訊(印表機android通訊,通過USB)

記事:android和印表機通過網路通訊(網路印表機),有空也要記錄一下 堆疊關係也要記錄一下(通常我們所說的堆疊都是指棧,比如一個方法被呼叫的時候,我們就會把相關變數壓棧(巢狀才會壓棧,一個方法呼叫完是要出棧的),除非遞迴,一般情況下,棧是不會溢位的) 近期一直在做Android USB

Nginx負載均衡,SSL工作流程,利用openssl生成自己的證書

負載均衡配置 檢視網站對應的ip地址工具dig 安裝 yum install -y bind-utils 使用 dig www.163.com 設定163.com的兩個地址為負債均衡 [root@test-a ~]# dig www.163.com ; <<>> DiG 9.9

c語言通過openssl aes對稱加解密base64編解碼將密碼儲存成密文

今天遇到這樣一個問題,將客戶端中的一個密碼儲存到檔案中以供下次使用,但是儲存的密碼不能直接儲存明文,需要進行加密處理,再三考慮之後,這個加密的過程需要雙向的可逆的過程,MD5等方式是不適用的,因為記住密碼意味著下次我還需要還原這個密碼進行使用,所以最後選擇了openssl的aes演算法,然而ae

通過了解ServletHttp之間的關係,瞭解web中http通訊使用(二)

注:圖片如果損壞,點選文章連結:https://www.toutiao.com/i6512399401825075719/ 上一節,簡單理解“請求服務”的內容:http協議中的請求,接下來我們再看下http協議中的響應 http協議中的響應 Http響應和Http請求一樣,也是有響應的格式 &

樹莓派Zero通過USB實現PC通訊並聯入網際網路的方法

1  具體步驟請參考 https://blog.csdn.net/chentuo2000/article/details/81051308  2  注意事項     (1)給樹莓派設定靜態IP截圖參考(樹莓派與電腦只通過USB連線)

java驗證openssl生成的ssl證書私鑰是否匹配

      最近有一個需求上傳ssl證書和私鑰,但是上傳之前需要驗證ssl證書和私鑰是否正確,其中的業務邏輯涉及到以下幾點: 一、讀取ssl證書,讀取ssl證書公鑰       要實現該功能比較簡單,java裡面有現成的api支援。 

Vue+Java servlet 通過websocket實現伺服器與客戶端雙向通訊

1. vue程式碼 methods: { //在方法裡呼叫 this.websocketsend()傳送資料給伺服器 onConfirm () { //需要傳輸的資料 let data = { cod