我使用Bouncy Castle作为提供者。但是当我加载密钥库时,我得到JCE无法验证提供者BC异常。我知道罐子必须签名。我正在使用他们网站上签名的jar。
这是代码
KeyStore keystore = KeyStore.getInstance("PKCS12", new BouncyCastleProvider());
char[] pin = args[1].toCharArray();
keystore.load(new FileInputStream(ksFile), pin);
这是堆栈跟踪
Exception in thread "main" java.io.IOException: error constructing MAC: java.lang.SecurityException: JCE cannot authenticate the provider BC
at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
如果我采用太阳的实施方式,那会更好吗?它在这里说pkcs11提供程序无法在Windows 64位上运行。 http://docs.oracle.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyStoreRestrictions pkcs12也有这样的限制吗?