If I validate the XML doc using JSR105 Provider in WebSphere 7.0 I am gettting the UnsupportedOperationException. If I use default prodiver, able to validate the signature. Prior to WAS V6.0, IBM supported JSR105 Provider as default provider. I have to use JSR105 provider only. could any one suggest how I can use/enable the JSR 105 provider in WAS v7.0.
Code that I have used to validate the signature is:
String providerName = System.getProperty("jsr105Provider", "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
NodeList nl = doc.getElementsByTagNameNS(XMLSignature.XMLNS,"Signature");
valContext = new DOMValidateContext (cert.getPublicKey(), nl.item(0));
XMLSignatureFactory xFac= XMLSignatureFactory.getInstance("DOM",
(Provider)Class.forName(providerName).newInstance());
signature = xFac.unmarshalXMLSignature(valContext);
Boolean valid = signature.validate(valContext);
Exception:
tack trace = java.lang.UnsupportedOperationException: Internal Error
at com.ibm.xml.crypto.dsig.dom.transform.Enveloped.transform(Enveloped.java:80)
at org.jcp.xml.dsig.internal.dom.DOMTransform.transform(Unknown Source)
at org.jcp.xml.dsig.internal.dom.DOMReference.transform(Unknown Source)
at org.jcp.xml.dsig.internal.dom.DOMReference.digest(Unknown Source)
at org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference(Unknown Source)
at org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(Unknown Source)
Thanks,
Sangeetha