You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by ra...@apache.org on 2004/12/24 11:38:43 UTC
cvs commit: xml-security/src/org/apache/xml/security/algorithms JCEMapper.java MessageDigestAlgorithm.java
raul 2004/12/24 02:38:43
Modified: src/org/apache/xml/security/algorithms/implementations
SignatureBaseRSA.java
src/org/apache/xml/security/algorithms JCEMapper.java
MessageDigestAlgorithm.java
Log:
Try to ease the integration with JuiCE inside ServletContainers(JUICE don't have SecureRandom)
Revision Changes Path
1.12 +26 -16 xml-security/src/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java
Index: SignatureBaseRSA.java
===================================================================
RCS file: /home/cvs/xml-security/src/org/apache/xml/security/algorithms/implementations/SignatureBaseRSA.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- SignatureBaseRSA.java 6 Oct 2004 14:42:22 -0000 1.11
+++ SignatureBaseRSA.java 24 Dec 2004 10:38:43 -0000 1.12
@@ -21,6 +21,7 @@
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.Key;
+import java.security.NoSuchProviderException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
@@ -61,15 +62,24 @@
if (log.isDebugEnabled())
log.debug("Created SignatureDSA using " + algorithmID);
-
+ String provider=JCEMapper.getProviderId();
try {
- this._signatureAlgorithm = Signature.getInstance(algorithmID);
+ if (provider==null) {
+ this._signatureAlgorithm = Signature.getInstance(algorithmID);
+ } else {
+ this._signatureAlgorithm = Signature.getInstance(algorithmID,provider);
+ }
} catch (java.security.NoSuchAlgorithmException ex) {
Object[] exArgs = { algorithmID,
ex.getLocalizedMessage() };
throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
- }
+ } catch (NoSuchProviderException ex) {
+ Object[] exArgs = { algorithmID,
+ ex.getLocalizedMessage() };
+
+ throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
+ }
}
/** @inheritDoc */
1.27 +16 -1 xml-security/src/org/apache/xml/security/algorithms/JCEMapper.java
Index: JCEMapper.java
===================================================================
RCS file: /home/cvs/xml-security/src/org/apache/xml/security/algorithms/JCEMapper.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- JCEMapper.java 8 Oct 2004 20:26:20 -0000 1.26
+++ JCEMapper.java 24 Dec 2004 10:38:43 -0000 1.27
@@ -45,6 +45,7 @@
private static Map algorithmsMap = new HashMap();
+ private static String providerName = null;
/**
* Method init
*
@@ -124,6 +125,20 @@
}
+ /**
+ * Gets the default Provider for obtaining the security algorithms
+ */
+ public static String getProviderId() {
+ return providerName;
+ }
+
+ /**
+ * Sets the default Provider for obtaining the security algorithms
+ */
+ public static void setProviderId(String provider) {
+ providerName=provider;
+ }
+
/**
* Represents the Algorithm xml element
*/
1.16 +14 -5 xml-security/src/org/apache/xml/security/algorithms/MessageDigestAlgorithm.java
Index: MessageDigestAlgorithm.java
===================================================================
RCS file: /home/cvs/xml-security/src/org/apache/xml/security/algorithms/MessageDigestAlgorithm.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- MessageDigestAlgorithm.java 6 Oct 2004 14:42:22 -0000 1.15
+++ MessageDigestAlgorithm.java 24 Dec 2004 10:38:43 -0000 1.16
@@ -19,6 +19,7 @@
import java.security.MessageDigest;
+import java.security.NoSuchProviderException;
import org.apache.xml.security.signature.XMLSignatureException;
import org.apache.xml.security.utils.Constants;
@@ -90,16 +91,24 @@
}
MessageDigest md;
-
- try {
- md = MessageDigest.getInstance(algorithmID);
+ String provider=JCEMapper.getProviderId();
+ try {
+ if (provider==null) {
+ md = MessageDigest.getInstance(algorithmID);
+ } else {
+ md = MessageDigest.getInstance(algorithmID,provider);
+ }
} catch (java.security.NoSuchAlgorithmException ex) {
Object[] exArgs = { algorithmID,
ex.getLocalizedMessage() };
throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
- }
-
+ } catch (NoSuchProviderException ex) {
+ Object[] exArgs = { algorithmID,
+ ex.getLocalizedMessage() };
+
+ throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
+ }
return new MessageDigestAlgorithm(doc, md, algorithmURI);
}