從jdk中找到keytool.exe,隨便複製到乙個方便的目錄,在命令列中進入這個目錄。
第一步:為伺服器生成證書 tomcat.keystore,命令中如果是ip方式訪問用-ext san=ip:192.168.18.83,如果是網域名稱用 -ext san=dns:www.123.com,
注意「您的名字與姓氏是什麼?」就是你的ip或網域名稱,其他的看著寫。
keytool -genkey -v -alias tomcat -keyalg rsa-ext san=ip:192.168.18.83-validity 36500 -keystore tomcat.keystore第二步:為客戶端生成證書,雙向認證時需要客戶端安裝該證書,等待第四步成功後將該證書新增到「個人」區域。
keytool -genkey -v -alias mykey -keyalg rsa -validity 36500 -storetype pkcs12 -keystore client.p12第三步:將p12檔案匯出為乙個cer檔案,因為不能直接將pkcs12格式的證書庫匯入服務端證書(tomcat.keystore)。123456為密碼
keytool -export -alias mykey -keystore client.p12 -storetype pkcs12 -storepass 123456 -rfc -file client.cer第四步:讓伺服器信任客戶端證書。
keytool -import -v -file client.cer -keystore tomcat.keystore第五步:檢視伺服器的證書庫。(乙個是伺服器證書,乙個是受信任的客戶端證書),可以省略。
keytool -list -keystore tomcat.keystore第六步:把伺服器證書匯出為cer檔案,然後將該證書新增到「受信任的根證書頒發機構」區域。
keytool -keystore tomcat.keystore -export -alias tomcat -file server.cer操作完成,在tomcat的server.xml中配置方法如下: 單向認證時需將clientauth="false",雙向時設定為clientauth="true",https的預設埠為443,所以port="443",當然也可以設定為其他的。
protocol由之前的http/1.1改成了org.apache.coyote.http11.http11protocol。
另外,贈送cer轉keystone命令,注意設定正確的別名:keytool -import -file c:\https\192.168.18.83\server.cer -keystore c:\https\192.168.18.83\tomcat.keystore -alias tomcat。
注意:將 server.cer 匯入到瀏覽器「受信任的根證書頒發機構」區域,這樣是為了讓瀏覽器信任伺服器。
將 client.p12 匯入到瀏覽器「個人」區域,這樣是為了讓伺服器信任瀏覽器,訪問時會提示選擇這個證書。
另外還可以通過openssl來生成相關證書,還有在iis上的配置等,稍後奉上。
有圖有真相
紅色是變更的部分,在2023年3月13日下午重新編輯部落格
從此解決chrome提示"您的連線不是私密連線" err_cert_authority_invalid 的問題。
有圖有真相
自簽名配置HTTPS
基於afn3.0 1 將後台提供的.cer檔案檔案儲存至本地 2 在封裝的網路請求工具類中為afn的afsecuritypolicy屬性賦值 afsecuritypolicy customsecuritypolicy nsset setdata nsset setwithobject cerdata...
apache nginx配置自簽名證書
一 apache 安裝apache ssl openssl yum y install httpd httpd pear mod ssl openssl生成證書檔案 openssl genrsa out server.key 2048 openssl req new key server.key o...
生成自簽名證書 將http介面轉成https介面
當前專案http json形式為手機端提供介面服務,由於ios據說2017以後必須使用https的介面,遂不得不對現有介面進行改造,上網查詢,最簡單快捷的方式是生成自簽名證書,現將過程記錄下來,關於簽名認證等相關原理,後續再深入研究。1.利用jdk自帶工具生成證書庫檔案 命令形式 keytool g...