2012-09-03 5 views
0

В этот момент я работаю над подписью EPES, и мне нужны некоторые изображения;a litte tip о том, как войти в систему EPES

подписать, я имею в SignerTestBase.java:

public class SignerTestBase extends SignatureServicesTestBase 

{

static protected KeyingDataProvider keyingProviderMy; 
static protected KeyingDataProvider keyingProviderNist; 

static 
{ 
    try 
    { 
     keyingProviderMy = createFileSystemKeyingDataProvider("pkcs12", "my/LG.pfx", "mykeypass", true); 
     keyingProviderNist = createFileSystemKeyingDataProvider("pkcs12", "csrc.nist/test4.p12", "password", false); 
    } catch (KeyStoreException e) 
    { 
     throw new NullPointerException("SignerTestBase init failed: " + e.getMessage()); 
    } 
} 
public static Document getTestDocument() throws Exception 
    { 
     //return getDocument("document.xml"); 

     //==that I changed===================================================================== 
     **return getDocument("b.xml");** 


} 

и:

@Test 
public void testSignEPES() throws Exception 
{ 
    System.out.println("signEPES"); 

    Document doc = getTestDocument(); 

    Element elemToSign = doc.getDocumentElement(); 

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

    **outputDocument(doc, "document.signed.epes.xml");** 
} 

В главном:

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

     SignerEPESTest signerEPESTest = new SignerEPESTest(); 
     System.out.println("signerEPESTest : " + signerEPESTest.toString()); 


     /** 
     * ==== NOT OK ===== 
     */ 

     **signerEPESTest.testSignEPES();** 

И в моей консоли, когда я бегу:

============================================================================ 
XADESTEST : EPES SIGNATURE 
============================================================================ 

signerEPESTest : [email protected] 
signEPES 
Exception in thread "main" java.lang.NullPointerException 
    at xades4j.utils.XadesProfileCore.addBinding(XadesProfileCore.java:81) 
    at xades4j.production.XadesSigningProfile.withBinding(XadesSigningProfile.java:131) 
    at xades4j.production.XadesEpesSigningProfile.<init>(XadesEpesSigningProfile.java:51) 
    at xadestest.SignerEPESTest.testSignEPES(SignerEPESTest.java:59) 
    at xadestest.XadesTest.main(XadesTest.java:103) 
Java Result: 1 
BUILD SUCCESSFUL (total time: 16 seconds) 

Пожалуйста, во время я ищу, может кто-нибудь мне помочь?

Будет

ответ

1

Кажется, что policyInfoProvider аргументом XadesEpesSigningProfile является недействительным. Конструктор не имеет нулевой проверки с лучшим сообщением.