簡體   English   中英

訪問Java中的密鑰庫證書

[英]Accessing keystore certificates in Java

我正在開發一個Java小程序,用於在Web瀏覽器中唱歌PDF文檔。 該小程序必須能夠與Windows和Mac OS一起使用。 小程序將在用戶的計算機上顯示已安裝證書的列表,並允許用戶選擇其中一個進行簽名。

example working with certificates in Java for Mac OS. 我發現的例子如何讀取使用的“Windows-MY”標識從Windows密鑰庫證書,但我找不到例子在Java證書用於Mac OS工作。 如何在Mac上的密鑰庫中讀取證書列表?

我是Java編程的新手(主要是.NET Web開發人員),也許我錯過了一些東西。 感謝您的任何幫助。

在此處進行記錄: Java密碼體系結構JDK 8的Oracle提供程序文檔

您應該閱讀整個頁面,但問題的相關部分在底部:

Apple提供程序實現了java.security.KeyStore,它提供了對Mac OS X鑰匙串的訪問。 Apple提供程序中提供了以下算法:

引擎:密鑰庫
算法名稱:KeychainStore

因此,換句話說:通過使用名稱“ KeychainStore ”獲得Mac OS X鑰匙串的KeyStore對象:

KeyStore ks = KeyStore.getInstance("KeychainStore");

之后,它與其他所有密鑰庫類型基本相同。 例如,列出所有證書及其別名:

ks.load(null, null);
Enumeration<String> en = ks.aliases();
while (en.hasMoreElements()) {
    String aliasKey = en.nextElement();
    X509Certificate c = (X509Certificate) ks.getCertificate(aliasKey);
    System.out.println("alias: " + aliasKey);
    System.out.println("cert:" + c.getSubjectX500Principal().toString());
}

順便說一句,瀏覽器供應商和甲骨文正在逐步淘汰小應用程序的瀏覽器插件。 Java Web Start可能是替代方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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