[英]Programmatically add a self-signed certificate to your keystore/truststore
我看到了這個問題 (以及其他問題 ),其中解釋了如何使用命令行手動將(自簽名)證書添加到密鑰庫/ cacerts。 執行此操作時,如果您獲得了證書(.cert文件),則可以與沒有簽名證書的服務器建立安全連接。 這對於測試目的非常有用。
我想對此進行編程,因此用戶無需手動執行此操作。 基本概念如下:用戶擁有.cert文件的本地副本,並為我的程序提供該文件駐留在其文件系統中的路徑。 我的程序獲取文件並將其添加到密鑰庫。
我的問題是:如何將此證書添加到我的程序中的密鑰庫中,以便turstmanager將其作為可信/簽名證書接受,給定.cert文件的(路徑)? 是否有關於此問題的任何教程或代碼片段?
PS:我不需要這里描述的“接受所有證書”信任管理員技巧
相當簡單:
InputStream input = ...;
CertificateFactory factory = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate) factory.generateCertificate(input);
KeyStore keystore = ...;
keystore.setCertificateEntry(alias, cert);
從javadoc可以看出加載和存儲密鑰庫: http : //docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.