我正在尝试在OS X / Java 7系统上加载可信证书。根据Java的Class KeyStore,有KeyStore.TrustedCertificateEntry
类型。
以下代码:
KeyStore ks = KeyStore.getInstance(KeyStore.TrustedCertificateEntry);
产生以下错误:
HttpsCiphers.java:34: error: cannot find symbol
KeyStore ks = KeyStore.getInstance(KeyStore.TrustedCertificateEntry);
^
symbol: variable TrustedCertificateEntry
location: class KeyStore
我正在导入KeyStore
和TrustedCertificateEntry
。
如何使用TrustedCertificateEntry
或加载受信任的证书存储区?
$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
$ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: OS X 10.8.5 (12F45)
Kernel Version: Darwin 12.5.0
...
答案 0 :(得分:2)
KeyStore.TrustedCertificateEntry
。您必须使用较早的Java,或者您可能拥有自己的类KeyStore.
无论如何,代码都是废话。它应该是KeyStore.getInstance(KeyStore.getDefaultType())
或命名显式密钥库类型的String
参数。
答案 1 :(得分:1)
根据getInstance()方法Javadoc(接受String的方法),您应该将它与一个可能的值一起使用:
jceks
- SunJCE提供商提供的专有密钥库实现; jks
- SUN提供商提供的专有密钥库实现; pkcs12
- PKCS#12; 从here获取的信息。
对我来说,这听起来像是在误导KeyStore.TrustedCertificateEntry
类,因为它似乎打算与getEntry()/setEntry()
方法一起使用。