Hello, It is impossible to use a specific JCE provider with the org.apache.xml.security.algorithms.implementations.SignatureDSA of the XML-Security java project. However it is possible to do it with SignatureBaseRSA and with SignatureECDSA. Why only the sun default DSA Signature provider can be used ??
The snag is that there is just this line in the constructor of the DSA implementation : this._signatureAlgorithm = Signature.getInstance(algorithmID); ------------------------------ I think that you should add this line to the constructor of SignatureDSA to fix this problem : String provider = JCEMapper.getProviderId(); try { if (provider == null) { this._signatureAlgorithm = Signature.getInstance(algorithmID); } else { this._signatureAlgorithm = Signature.getInstance(algorithmID,provider); } } catch (java.security.NoSuchAlgorithmException ex) { ..... } ------------------------------ Regards, Julien PASQUIER