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]