日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java生成Https证书,及证书导入的步骤和过程

發布時間:2025/6/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java生成Https证书,及证书导入的步骤和过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文參考:http://www.cnblogs.com/fron/p/https-20170111.html

以下是相關的Tomcat,JDK和Windows環境:

Tomcat版本:tomcat-7.0.55

JDK版本:?jdk1.6.0

目錄所在的位置:

Serve的目錄:D:\server\tomcat-7.0.55\

JDK的目錄:D:\jdk\jdk1.6.0

1、生成服務器的密匙文件casserver.keystore

1)打開CMD切換到Serve的目錄下面D:\Server\tomcat\

2)執行:keytool -genkey -alias casserver -keypass cas123 -keyalg RSA -keystore casserver.keystore -validity 365

說明:

-alias指定別名為casserver;

-keyalg指定RSA算法;

-keypass指定私鑰密碼;

-keystore指定密鑰文件名稱為casserver.keystore;

-validity指定有效期為365天。

另外提示輸入密匙庫口令應與-keypass指定的cas123相同您的名字與姓氏fron.com是CAS服務器使用的域名(不能是IP,也不能是localhost),其它項隨意填。

注意:

服務器上如果有多個JDK,請確認環境變量中的JDK路徑為tomcat所使用的JDK,

如果不在環境變量中,也可切換到指定JDK的bin目錄下執行命令;提示的輸入keystore密碼應與-keypass必須與指定的相同,

否則后面tomcat啟動會報IO異常(Cannot recover key)。

命令執行成功后Server目錄下多出casserver.keystore文件。

3)可以看到Tomcat 下面生成casserver.keystore

?

2.生成服務端證書casserver.cer

1)根據上面導出的casserver.keystore文件就可以生成casserver.cer文件,只需在原來的Serve的目錄下面D:\Server\tomcat\下執行:

keytool -export -alias casserver -storepass cas123 -file casserver.cer -keystore casserver.keystore

說明:

-alias指定別名為casserver;

-storepass指定私鑰為liuqizhi;

-file指定導出證書的文件名為casserver.cer;

-keystore指定之前生成的密鑰文件的文件名。

注意:-alias和-storepass必須為生成casserver.keystore密鑰文件時所指定的別名和密碼,否則證書導出失敗

2)執行上面命令后發現多了casserver.cer文件

3.導入證書文件到cacerts 密鑰庫文件

?接下來就是把上面生成的服務器的證書casserver.cer導入到cacerts密鑰庫文件中(后面的客戶端會用到這些)

keytool -import -trustcacerts -alias casserver -storepass cas123 -file casserver.cer –keystore cacerts

?

命令執行成功后Server目錄下多出cacerts文件。

4.服務端Tomcat配置

在制作完成密鑰文件、證書文件、密鑰庫文件后即可進行服務端Tomcat的配置。打開$CATALINA_HOME/conf/server.xml

<!--keystoreFile 生成的安全證書的位置-->?

<!--keystorePass設置安全證書的密碼-->

<Connector protocol="HTTP/1.1" SSLEnabled="true"

???????? maxThreads="150" scheme="https" secure="true"

???????? clientAuth="false"

???????? sslProtocol="TLS"

?????????keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"??

???????? keystorePass="cas123"???

???????? port="443"?? />

說明:

port一般為8443或443,最常用的是443端口(https默認端口),

這樣https方式訪問的時候可以不加端口號(如:https://sso.demo.com/cas/login);

keystoreFile為tomcat目錄下的密鑰文件;

keystorePass為私鑰密碼;truststoreFile為生成的信任文件,

如果此處不指定則默認為$JAVA_HOME/jre/lib/security/cacerts文件;其它屬性默認即可。

5.生成客戶端密鑰庫文件

單向認證的客戶端配置只需生成客戶端信任文件caserts即可。

首先將服務端生成的證書文件(之前生成的casserver.cer文件)復制到$JAVA_HOME/jre/lib/security下,

然后打開CMD窗口切換到$JAVA_HOME/jre/lib/security下并執行命令:

keytool -import -trustcacerts -alias casclient -storepass changeit -file casserver.cer -keystore cacerts

命令執行成功后JDK目錄/jre/lib/security下多出cacerts文件。


6.客戶端應用配置-----這塊我感覺作者寫錯了,和上面服務端Tomcat的配置一樣

TOMCAT修改
tomcat\conf\ server.xml 修改片斷
<!--keystoreFile 生成的安全證書的位置-->?
<!--keystorePass設置安全證書的密碼-->
<Connector protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"? ?
keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"??
keystorePass="cas123" ??
port="443"/>

7.常見配置錯誤

1)keytool 生成安全證書不能使用IP地址 一律使用域名
2)務必確認客戶端程序使用JDK 路徑正確 分清楚JDK、JRE



zimbra配置使用ad的證書,只需要crt證書即可(發給調用AD的java客戶端也僅是crt證書即可)。

原文參考:https://confluence.atlassian.com/crowd/configuring-an-ssl-certificate-for-microsoft-active-directory-63504388.html

UNIX

  • Navigate to the directory in which the Java used by JIRA is installed. If the default JAVA installation is used, then it would be

    cd?$JAVA_HOME
  • Run the command below, where?server-certificate.crt?is the name of the file from your directory server:

    sudo?keytool?-importcert?-keystore?./jre/lib/security/cacerts?-file?server-certificate.crt
  • keytool?will prompt you for a password. The default keystore password is?changeit.

  • When prompted?Trust this certificate? [no]:?enter?yes?to confirm the key import:

    Password: Enter?keystore?password:??changeit Owner:?CN=ad01,?C=US Issuer:?CN=ad01,?C=US Serial?number:?15563d6677a4e9e4582d8a84be683f9 Valid?from:?Tue?Aug?21?01:10:46?ACT?2007?until:?Tue?Aug?21?01:13:59?ACT?2012 Certificate?fingerprints:MD5:??D6:56:F0:23:16:E3:62:2C:6F:8A:0A:37:30:A1:84:BESHA1:?73:73:4E:A6:A0:D1:4E:F4:F3:CD:CE:BE:96:80:35:D2:B4:7C:79:C1 Trust?this?certificate??[no]:??yes Certificate?was?added?to?keystore
  • You may now?change 'URL' to use LDAP over SSL (i.e.?ldaps://<HOSTNAME>:636/) and?use the 'Secure SSL' option?when connecting your application to your directory server.


    cer和crt都是證書,只是格式不一樣。具體參考下面的內容

    證書與編碼


    本至上,X.509證書是一個數字文檔,這個文檔根據RFC 5280來編碼并/或簽發。

    實際上,“X.509證書”經常被用來指代IETF的PKIX(Public Key Infrastructure)證書和X.509 v3 證書標準中的CRL(Certificate Revocation List)。



    X509 文件擴展名


    首先我們要理解文件的擴展名代表什么。DER、PEM、CRT和CER這些擴展名經常令人困惑。很多人錯誤地認為這些擴展名可以互相代替。盡管的確有時候有些擴展名是可以互換的,但是最好你能確定證書是如何編碼的,進而正確地標識它們。正確地標識證書有助于證書的管理。


    編碼 (也用于擴展名)

    • .DER?= 擴展名DER用于二進制DER編碼的證書。這些證書也可以用CER或者CRT作為擴展名。比較合適的說法是“我有一個DER編碼的證書”,而不是“我有一個DER證書”。

    • .PEM?= 擴展名PEM用于ASCII(Base64)編碼的各種X.509 v3 證書。文件開始由一行"—– BEGIN …“開始。


    常用的擴展名

    • .CRT?= 擴展名CRT用于證書。證書可以是DER編碼,也可以是PEM編碼。擴展名CER和CRT幾乎是同義詞。這種情況在各種unix/linux系統中很常見。

    • CER?= CRT證書的微軟型式??梢杂梦④浀墓ぞ甙袰RT文件轉換為CER文件(CRT和CER必須是相同編碼的,DER或者PEM)。擴展名為CER的文件可以被IE識別并作為命令調用微軟的cryptoAPI(具體點就是rudll32.exe cryptext.dll, CyrptExtOpenCER),進而彈出一個對話框來導入并/或查看證書內容。

    • .KEY?= 擴展名KEY用于PCSK#8的公鑰和私鑰。這些公鑰和私鑰可以是DER編碼或者PEM編碼。

    CRT文件和CER文件只有在使用相同編碼的時候才可以安全地相互替代。




    本文轉自Tenderrain 51CTO博客,原文鏈接:http://blog.51cto.com/tenderrain/1964864,如需轉載請自行聯系原作者



    總結

    以上是生活随笔為你收集整理的java生成Https证书,及证书导入的步骤和过程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。