『壹』 如何把安全證書導入到java中的cacerts證書庫
把安全證書導入到java中的cacerts證書庫步驟:
1、先下載證書,然後使用命令導入
已經完成了證書的導入。
『貳』 如何用Java代碼來把SSL的證書自動導入到Jav
下面這個Java類可以幫助我們做這個事情。同時我們還可以把這個幫助方法開發一個可視化的程序,這樣就更加方便:
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.security.KeyStore;import java.security.cert.CertificateFactory;import java.security.cert.X509Certificate;import java.util.List;import javax.naming.ldap.LdapName;import javax.naming.ldap.Rdn;import javax.security.auth.x500.X500Principal;public class KeyStoreHelper { public static void createTrustJKSKeyStore(final String originalTrustFolder, final String jksTrustStoreLocation, final String password) { File keyStoreFile = new File(jksTrustStoreLocation); if (!keyStoreFile.exists()) { try { KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(null, password.toCharArray()); File trustedFolder = new File(originalTrustFolder); File[] certs = trustedFolder.listFiles(); if (certs != null) { for (File cert : certs) { CertificateFactory factory = CertificateFactory.getInstance("X.509"); try { X509Certificate certificate = (X509Certificate) factory.generateCertificate(new FileInputStream(cert)); X500Principal principal = certificate.getSubjectX500Principal(); LdapName ldapDN = new LdapName(principal.getName()); List<Rdn> rdns = ldapDN.getRdns(); for (Rdn rdn : rdns) { String type = rdn.getType(); if (type.equals("CN")) { keystore.setCertificateEntry((String) rdn.getValue(),certificate);break; } } } catch (Exception ex) { continue; } } } FileOutputStream fos = new FileOutputStream(jksTrustStoreLocation); keystore.store(fos, password.toCharArray()); fos.close(); } catch (Exception exp) { } } } /** * @param args */ public static void main(String[] args) { KeyStoreHelper.createTrustJKSKeyStore("D:\\cacerts", "D:\\cacerts\\test.jks", "test123"); }}
『叄』 如何用Java讀取使用證書
Java為安全應用提供了豐富的API,J2SDK1.4 的JSSE (JavaTM Secure Socket Extension) 包括javax.security.certificate包,並且提供對證書的操作方法,代碼如下:
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.table.*;
importjava.security.cert.CertificateFactory;
importjava.security.cert.X509Certificate;
importjava.io.*;
{
privateStringCA_Name;
privateStringCA_ItemData[][]=newString[9][2];
privateString[]columnNames={"證書欄位標記","內容"};
publicCARead(StringCertName){
CA_Name=CertName;
/*三個Panel用來顯示證書內容*/
JTabbedPanetabbedPane=newJTabbedPane();
JPanelpanelNormal=newJPanel();
tabbedPane.addTab("普通信息",panelNormal);
JPanelpanelAll=newJPanel();
panelAll.setLayout(newBorderLayout());
tabbedPane.addTab("所有信息",panelAll);
JPanelpanelBase64=newJPanel();
panelBase64.setLayout(newBorderLayout());
tabbedPane.addTab("Base64編碼信息",panelBase64);
/*讀取證書常規信息*/
Read_Normal(panelNormal);
/*讀取證書文件字元串表示內容*/
Read_Bin(panelAll);
/*讀取證原始Base64編碼形式的證書文件*/
Read_Raw(panelBase64);
tabbedPane.setSelectedIndex(0);
setLayout(newGridLayout(1,1));
add(tabbedPane);
}
}
定義證書信息的讀取函數如下:
privateintRead_Normal(JPanelpanel){
StringField;
try{
CertificateFactorycertificate_factory=CertificateFactory.getInstance("X.509");
FileInputStreamfile_inputstream=newFileInputStream(CA_Name);
X509Certificate
x509certificate=(X509Certificate)certificate_factory.generateCertificate
(file_inputstream);
Field=x509certificate.getType();
CA_ItemData[0][0]="類型";
CA_ItemData[0][1]=Field;
Field=Integer.toString(x509certificate.getVersion());
CA_ItemData[1][0]="版本";
CA_ItemData[1][1]=Field;
Field=x509certificate.getSubjectDN().getName();
CA_ItemData[2][0]="標題";
CA_ItemData[2][1]=Field;
/*以下類似,這里省略
Field=x509certificate.getNotBefore().toString();得到開始有效日期
Field=x509certificate.getNotAfter().toString();得到截止日期
Field=x509certificate.getSerialNumber().toString(16);得到序列號
Field=x509certificate.getIssuerDN().getName();得到發行者名
Field=x509certificate.getSigAlgName();得到簽名演算法
Field=x509certificate.getPublicKey().getAlgorithm();得到公鑰演算法*/
file_inputstream.close();
finalJTabletable=newJTable(CA_ItemData,columnNames);
TableColumntc=null;
tc=table.getColumnModel().getColumn(1);
tc.setPreferredWidth(600);
panel.add(table);
}catch(Exceptionexception){
exception.printStackTrace();
return-1;
}
return0;
}
『肆』 如何導入.cer證書到Java keystore
Der/Cer證書導入來:
要從某個文源件中導入某個證書,使用keytool工具的-import命令:
keytool -import -file mycert.der -keystore mykeystore.jks
如果在 -keystore 選項中指定了一個並不存在的密鑰倉庫,則該密鑰倉庫將被創建。
如果不指定 -keystore 選項,則預設密鑰倉庫將是宿主目錄中名為 .keystore 的文件。如果該文件並不存在,則它將被創建。
『伍』 如何導入.cer證書到Java keystore
keytool -importcert -file my.cer -keystore mykeystore.jks -alias mycert
獲得幫助:
keytool -importcert -help
『陸』 如何把安全證書導入到java中的cacerts證書庫
假設你已經有了證書a.cer文件,放在C:\
後啟動一個命令,進入到你的java安裝目錄我的是C:\jdk1.5\jre, 然後到下面的目回錄C:\jdk1.5\jre\lib\security
在這里輸入
keytool -import -alias cacerts
-keystore C:\jdk1.5\jre\lib\security\cacerts
-file C:\a.cer
-trustcacerts
此時命令行會提示你輸入cacerts證書庫的密碼,你敲入changeit就行了,這是java中cacerts證書庫的默認密碼,然答後就好了。
『柒』 如何把Https網站中的安全證書導入到java中的cacerts證書庫
在項目開發中,有時會遇到與SSL安全證書導入打交道的,如何把證書導入java中的cacerts證書庫呢?
其實很簡單,方法如下:
每一步:進入某個https //www xxx com 開頭的網站,把要導入的證書下載過來,
在該網頁上右鍵 >> 屬性 >> 點擊"證書" >>
再點擊上面的"詳細信息"切換欄 >>
再點擊右下角那個"復制到文件"的按鈕
就會彈出一個證書導出的<nobr>向導 </nobr>對話框,按提示一步一步完成就行了。
例如:保存為abc.cer,放在C盤下
第二步:如何把上面那步的(abc.cer)這個證書導入java中的cacerts證書庫里?
方法如下
假設你的jdk安裝在C:/jdk1.5這個目錄,
開始 >> 運行 >> 輸入cmd 進入dos命令行 >>
再用cd進入到C:/jdk1.5/jre/lib/security這個目錄下
敲入如下命令回車執行
keytool -import -alias cacerts
-keystore C:/jdk1.5/jre/lib/security/cacerts
-file C:/abc.cer
-trustcacerts
此時命令<nobr>行會 </nobr>提示你輸入cacerts證書庫的密碼,
你敲入changeit就行了,這是java中cacerts<nobr>證書 </nobr>庫的默認密碼,
你自已也可以修改的。
『捌』 如何把Https網站中的安全證書導入到java中的cacerts證書庫
在項目開發中,有時會遇到SSL證書導入,把SSL證書導入java中的cacerts證書庫其實很簡單,方法如下:
第一步:找到安裝了SSL證書的網站,點擊HTTPS加密協議下載SSL證書
在該網頁上右鍵 >> 屬性 >> 點擊"證書" >>
再點擊上面的"詳細信息"切換欄 >>
再點擊右下角那個"復制到文件"的按鈕
就會彈出一個證書導出的向導對話框,按提示一步一步完成就行了。
例如:保存為abc.cer,放在C盤下
第二步:把上面(abc.cer)這個證書導入java中的cacerts證書庫,方法如下:
假設你的jdk安裝在C:jdk1.5這個目錄,
開始 >> 運行 >> 輸入cmd 進入dos命令行 >>
再用cd進入到C:jdk1.5jrelibsecurity這個目錄下
敲入如下命令回車執行
keytool -import -alias cacerts
-keystore C:jdk1.5jrelibsecuritycacerts
-file C:abc.cer
-trustcacerts
此時命令行會提示你輸入cacerts證書庫的密碼,
輸入changeit就行了,這是java中cacerts證書庫的默認密碼,自已也可以修改的。
更多相關HTTPS證書,SSL證書問題建議你去沃通SSL證書論壇找找資料。
『玖』 如何導入.cer證書到Java keystore
1. 如果你想驗證你所需要的私鑰。有沒有其他的選項。 證書是有額外的屬性(國家專,...)是由證書頒發機構garants的附加屬屬性為true簽名的公鑰。
CER文件證書和沒有私鑰。私鑰設置有。PFX密鑰庫正常文件。 如果你真的是驗證你已經導入了私鑰。
你通常可以導入。與任何問題的CER證書 密鑰工具-importcert文件certificate.cer-密鑰庫的keystore.jks別名「別名」
2. 你已經有了該證書可能是伺服器的證書,或簽名伺服器的證書。你會需要它,使您的Web服務客戶端端可以驗證伺服器。 但是,如果你還需要使用SSL進行客戶端端身份驗證,那麼你需要讓自己的證書,來驗證您的Web服務客戶端端。
為此 CodeGo.net,您需要創建一個證書請求,這個過程涉及到創建自己的私有密鑰,以及相應的公開密鑰,以及安裝隨著(電子郵件,網站等)的公共密鑰這就是所謂的證書請求文件。
『拾』 把證書導入java證書庫有什麼作用
每一步:進入某個://www.xxx.com開頭的網站,把要導入的證書下載過來,
在該網頁上右鍵 >> 屬性 >> 點擊"證書" >>
再點擊上面的"詳細信息"切換欄 >>
再點擊右下角那個"復制到文件"的按鈕
就會彈出一個證書導出的向導對話框,按提示一步一步完成就行了。
例如:保存為abc.cer,放在C盤下
第二步:如何把上面那步的(abc.cer)這個證書導入java中的cacerts證書庫里?
方法如下
假設你的jdk安裝在C:\jdk1.5這個目錄,
開始 >> 運行 >> 輸入cmd 進入dos命令行 >>
再用cd進入到C:\jdk1.5\jre\lib\security這個目錄下
敲入如下命令回車執行
keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer -trustcacerts
此時命令行會提示你輸入cacerts證書庫的密碼,
你敲入changeit就行了,這是java中cacerts證書庫的默認密碼,
你自已也可以修改的。
ok,大功告成!
以後更新時,先刪除原來的證書,然後導入新的證書
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts