1

プロバイダーの設定を変更するためのヒントを教えてください。

これは 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()」の後は、キーストアのリストの最初の証明書を選択することですね。

最初の null は、キーストア プロバイダーのパスワードですよね。

2 番目の null は証明書のパスワードですよね。

そして、returnFullChain の役割は正確には何ですか?

また、プロバイダーの設定方法についての情報が欲しいのですが、検索中は今のところ不明です。

ありがとう、

ウィリアム。

4

1 に答える 1

1

新しいFirstCertificateSelector()は、キーストアのリストの最初の証明書を選択することですよね?

はい。インターフェイスの他の実装を渡すことができSigningCertSelectorます。

最初のnullは、キーストアプロバイダーのパスワードですよね。2番目のnullは証明書のパスワードですよね?

はい。特定のPKCS#11プロバイダーがキーストアエントリの保護を処理するため、nullになります(PIN付きのスマートカードです)。

そしてreturnFullChainその役割は正確には何ですか?

キーストアのエントリには、キーと、完全な証明書チェーンに関連付けられた証明書が含まれている場合があります。このパラメーターは、getSigningCertificateChainメソッドが完全なチェーンを返すか、リーフ証明書のみを返すかを制御します。

適切な構成とDLLは、使用しているPKCS11プロバイダーによって異なります。そのテストでは、ポルトガルの市民カードとスマートカードリーダーを使用していました。PKCS11KeyStoreKeyingDataProviderこれは、sunのPKCS11プロバイダーに基づくjavaキーストアの単なるアダプターであることに注意してください。

于 2012-09-05T16:59:40.613 に答える