Xades4j 有关TPtCC()签名的更多信息

Xades4j 有关TPtCC()签名的更多信息,xades4j,Xades4j,我正在使用“SignerTestBase”处理SignerTest.java: 我有SignerTest.java类 @Test public void testSignTPtCC() throws Exception { System.out.println("signTPtCitizenCard"); if (!onWindowsPlatform()) fail("Test written for the Windows platform"); D

我正在使用“SignerTestBase”处理SignerTest.java:

我有SignerTest.java类

@Test
public void testSignTPtCC() throws Exception
{
    System.out.println("signTPtCitizenCard");

    if (!onWindowsPlatform())
        fail("Test written for the Windows platform");

    Document doc = getTestDocument();
    Element elemToSign = doc.getDocumentElement();
    try
    {
        PKCS11KeyStoreKeyingDataProvider ptccKeyingDataProv = new PKCS11KeyStoreKeyingDataProvider(
                //"C:\\Windows\\System32\\pteidpkcs11.dll", "PT_CC",
                "C:\\Windows\\system32\\pteidpkcs11.dll", "PT_CC",


                new FirstCertificateSelector(), null, null, false);

        SignerT signer = (SignerT)new XadesTSigningProfile(ptccKeyingDataProv).withAlgorithmsProvider(PtCcAlgorithmsProvider.class).newSigner();
        new xades4j.production.Enveloped(signer).sign(elemToSign);

        outputDocument(doc, "document.signed.t.bes.ptcc.xml");
    } catch (ProviderException ex)
    {
        fail(" !!!!!!!PT CC PKCS#11 provider not configured !!!!!!!!!!!!");
    }
}
在我的主课上:

 System.out.println("============================================================================");          
        System.out.println("XADESTEST : T SIGNATURE");
        System.out.println("============================================================================");
        System.out.println();

        SignerTTest signerTTest = new SignerTTest();
        System.out.println("signerTTest : " + signerTTest.toString()); 

        /**
         *    ==== NOT OK =====
         */
        signerTTest.testSignTPtCC();
在我的控制台中,我得到:

> ============================================================================
XADESTEST : T SIGNATURE
============================================================================

signerTTest : xadestest.SignerTTest@1304043
signTPtCitizenCard
Exception in thread "main" java.lang.AssertionError:  !!!!!!!PT CC PKCS#11 provider not configured !!!!!!!!!!!!
    at org.junit.Assert.fail(Assert.java:58)
    at xadestest.SignerTTest.testSignTPtCC(SignerTTest.java:119)
    at xadestest.XadesTest.main(XadesTest.java:117)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
在我搜索的过程中,你能就这个问题给我一些建议吗

谢谢


威尔。

该测试是为使用葡萄牙公民卡PKCS#11提供商编写的。正如异常消息所述,您没有安装提供程序。如果需要使用PKCS#11提供程序测试库,请将配置更改为使用其本机库

注:lib文档和示例对此非常清楚。请仔细看看。另外,请在这里投票选出答案

> ============================================================================
XADESTEST : T SIGNATURE
============================================================================

signerTTest : xadestest.SignerTTest@1304043
signTPtCitizenCard
Exception in thread "main" java.lang.AssertionError:  !!!!!!!PT CC PKCS#11 provider not configured !!!!!!!!!!!!
    at org.junit.Assert.fail(Assert.java:58)
    at xadestest.SignerTTest.testSignTPtCC(SignerTTest.java:119)
    at xadestest.XadesTest.main(XadesTest.java:117)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)