请您向我建议更多有关更改提供商设置的提示吗?
我可以在 PKCS11KeyStoreKeyingDataProvider.java 中看到这一点:
public class PKCS11KeyStoreKeyingDataProvider extends KeyStoreKeyingDataProvider
{
/**
*
* @param nativeLibraryPath the path for the native library of the specific PKCS#11 provider
* @param providerName this string is concatenated with the prefix SunPKCS11- to produce this provider instance's name
* @param certificateSelector the selector of signing certificate
* @param keyStorePasswordProvider the provider of the keystore loading password (may be {@code null})
* @param entryPasswordProvider the provider of entry passwords (may be {@code null})
* @param returnFullChain indicates of the full certificate chain should be returned, if available
* @throws KeyStoreException
*/
public PKCS11KeyStoreKeyingDataProvider(
final String nativeLibraryPath,
final String providerName,
SigningCertSelector certificateSelector,
KeyStorePasswordProvider keyStorePasswordProvider,
KeyEntryPasswordProvider entryPasswordProvider,
boolean returnFullChain) throws KeyStoreException
{
在我的 SignerTTest.java 中:
PKCS11KeyStoreKeyingDataProvider ptccKeyingDataProv = new PKCS11KeyStoreKeyingDataProvider
("D:\\pteidpkcs11.dll",
"pteidpkcs11",
new FirstCertificateSelector(), null, null, false);
但我不明白,通常我下载适当的.DLL所以这里库pteidpkcs11.dll位于D:(所以在java中我放了“\\”:“D:”\\“pteidpkcs11.dll”)
在我输入 .dll 的名称后,这里将 pteidpkcs11 作为参数。
“new FirstCertificateSelector()”之后就是选择keystore列表的第一个证书,不是吗?
第一个 null 是密钥库提供者的密码,不是吗?
第二个 null 是证书的密码,不是吗?
而 returnFullChain 究竟有什么作用呢?
而且我想了解有关如何配置提供程序的信息,因为在我搜索期间目前还不清楚。
谢谢,
威廉。