Pallavi Ar
Pallavi Ar

Reputation: 1

java.lang.InstantiationError: org.apache.xml.security.signature.XMLSignatureInput

getting the below error message with Apache POI and the xmlsec

java.lang.InstantiationError: org.apache.xml.security.signature.XMLSignatureInput at org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService.transform(RelationshipTransformService.java:228) ~[poi-ooxml-5.2.5.jar:5.2.5] at org.apache.jcp.xml.dsig.internal.dom.DOMTransform.transform(DOMTransform.java:150) ~[xmlsec-4.0.2.jar:4.0.2] at org.apache.jcp.xml.dsig.internal.dom.DOMReference.transform(DOMReference.java:486) ~[xmlsec-4.0.2.jar:4.0.2] at org.apache.jcp.xml.dsig.internal.dom.DOMReference.digest(DOMReference.java:387) ~[xmlsec-4.0.2.jar:4.0.2] at org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:503) ~[xmlsec-4.0.2.jar:4.0.2] at org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:389) ~[xmlsec-4.0.2.jar:4.0.2] at org.apache.poi.poifs.crypt.dsig.SignatureInfo.preSign(SignatureInfo.java:413) ~[poi-ooxml-5.2.5.jar:5.2.5] at org.apache.poi.poifs.crypt.dsig.SignatureInfo.confirmSignature(SignatureInfo.java:225) ~[poi-ooxml-5.2.5.jar:5.2.5] at com.daimler.rde.importer.batch.steps.excel.creator.SignatureCreator.addSignatureToDocument(SignatureCreator.java:40) ~[classes/:?] at com.daimler.rde.importer.batch.steps.excel.creator.ReportingFileExcelCreator.createExcelFile(ReportingFileExcelCreator.java:54) ~[classes/:?] at com.daimler.rde.importer.batch.steps.excel.ReportingFileProcessor.process(ReportingFileProcessor.java:50) ~[classes/:?] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) ~[spring-aop-6.1.5.jar:6.1.5] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.5.jar:6.1.5] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring

        <dependency> 
            <groupId>org.bouncycastle</groupId> 
            <artifactId>bcprov-jdk18on</artifactId>
            <version>1.78.1</version> 
             </dependency>
                  <dependency>
                  <groupId>org.bouncycastle</groupId>
                  <artifactId>bcpkix-jdk18on</artifactId> 
                  <version>1.78.1</version> 
            </dependency>
                   <dependency>
            <groupId>org.apache.santuario</groupId>
            <artifactId>xmlsec</artifactId>
            <version>4.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.2.5</version>
        </dependency>
     public byte[] addSignatureToDocument (byte[] excelFile) throws IOException, InvalidFormatException, XMLSignatureException, MarshalException, RdeSignatureException {
        
        InputStream in = new ByteArrayInputStream(excelFile);
        
        OPCPackage opcPackage = OPCPackage.open(in);
    
        SignatureConfig signatureConfig = certificateService.getSignatureConfig();
    
        SignatureInfo si = new SignatureInfo();
        si.setOpcPackage(opcPackage); 
        si.setSignatureConfig(signatureConfig);
        si.confirmSignature();
    
        //obtain signed document
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        opcPackage.save(os);
    
        return os.toByteArray();
    }

Upvotes: 0

Views: 163

Answers (0)

Related Questions