Author: simonetripodi
Date: Fri Feb 26 08:01:25 2010
New Revision: 916609

URL: http://svn.apache.org/viewvc?rev=916609&view=rev
Log:
implemented the RSA encode method

Modified:
    
labs/amber/signature-api/src/main/java/org/apache/labs/amber/signature/signers/rsa/RsaSha1MethodAlgorithm.java

Modified: 
labs/amber/signature-api/src/main/java/org/apache/labs/amber/signature/signers/rsa/RsaSha1MethodAlgorithm.java
URL: 
http://svn.apache.org/viewvc/labs/amber/signature-api/src/main/java/org/apache/labs/amber/signature/signers/rsa/RsaSha1MethodAlgorithm.java?rev=916609&r1=916608&r2=916609&view=diff
==============================================================================
--- 
labs/amber/signature-api/src/main/java/org/apache/labs/amber/signature/signers/rsa/RsaSha1MethodAlgorithm.java
 (original)
+++ 
labs/amber/signature-api/src/main/java/org/apache/labs/amber/signature/signers/rsa/RsaSha1MethodAlgorithm.java
 Fri Feb 26 08:01:25 2010
@@ -16,6 +16,9 @@
  */
 package org.apache.labs.amber.signature.signers.rsa;
 
+import java.security.Signature;
+
+import org.apache.commons.codec.binary.Base64;
 import org.apache.labs.amber.signature.signers.AbstractMethodAlgorithm;
 import org.apache.labs.amber.signature.signers.SignatureException;
 import org.apache.labs.amber.signature.signers.SignatureMethod;
@@ -29,13 +32,28 @@
 public final class RsaSha1MethodAlgorithm extends 
AbstractMethodAlgorithm<DerRsaSha1SigningKey, DerRsaSha1VeryfingKey> {
 
     /**
+     * The RSA+SHA1 algorithm name.
+     */
+    private static final String RSA_SHA1_ALGORITHM = "SHA1withRSA";
+
+    /**
      * {...@inheritdoc}
      */
     @Override
     protected String encode(DerRsaSha1SigningKey signingKey,
             String secretCredential,
             String baseString) throws SignatureException {
-        return null;
+        try {
+            Signature signer = Signature.getInstance(RSA_SHA1_ALGORITHM);
+            signer.initSign(signingKey.getRsaPrivateKey());
+            signer.update(toUTF8Bytes(baseString));
+
+            byte[] signature = signer.sign();
+
+            return new String(Base64.encodeBase64(signature, false));
+        } catch (Exception e) {
+            throw new SignatureException(e);
+        }
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to