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);
      }