JDeveloper don't find SignerEPES having xades4j.jar

172 Views Asked by At

Im using @lgoncalves code to sign an XML with XADES4J EPES. But however jdeveloper don't find (SignerEPES) when I have the xades4j.jar on my classpath. I let you the image of my library and the code:

Project Library

private static void signBes(Document doc) throws XadesProfileResolutionException, XAdES4jException,
                                                 KeyStoreException {
    //Document doc = getTestDocument();
    Element elemToSign = doc.getDocumentElement();
    
    SignaturePolicyInfoProvider policyInfoProvider = new SignaturePolicyInfoProvider()
    {
        @Override
        public SignaturePolicyBase getSignaturePolicy()
        {
            return new SignaturePolicyIdentifierProperty(
                    new ObjectIdentifier("oid:/1.2.4.0.9.4.5", IdentifierType.OIDAsURI, "Policy description"),
                    new ByteArrayInputStream("Test policy input stream".getBytes()))
                .withLocationUrl(""); //<- I really don't know what to put right here.
        }
    };        

    KeyingDataProvider kdp = new FileSystemKeyStoreKeyingDataProvider("pkcs12","C:/****/****.pfx",new FirstCertificateSelector(),new DirectPasswordProvider("****"),new DirectPasswordProvider("****"),true);

    SignerEPES signer = (SignerEPES) new XadesEpesSigningProfile(kdp, policyInfoProvider).newSigner();
    new Enveloped(signer).sign(elemToSign); 

}

Link to the sample code on GitHub: https://github.com/luisgoncalves/xades4j/blob/master/src/test/java/xades4j/production/SignerEPESTest.java

EDIT: I tried to force the import like (import xades4j.production.SignerEPES) but IDE says "Cannot be accessed from outside package" but really don't know what that means

1

There are 1 best solutions below

0
lgoncalves On BEST ANSWER

SignerEPES is a package-private class, so application code won't be able to import it. The tests use it just to be sure that the proper type is being returned.

In your code you can just use XadesSigner as the type of your variable.