簡體   English   中英

以編程方式將自簽名證書添加到密鑰庫/信任庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM