COM.claymoresystems.provider
Class RSASignature
java.lang.Object
|
+--java.security.SignatureSpi
|
+--java.security.Signature
|
+--COM.claymoresystems.provider.RSASignature
- All Implemented Interfaces:
- Blindable
- public class RSASignature
- extends java.security.Signature
- implements Blindable
This class implements RSA signature w/ PKCS#1 padding but
no DigestInfo encoding because Cryptix doesn't
and SSL requires it for Client Auth.
We assume that we already have an RSAEncryption primitive floating
around.
| Fields inherited from class java.security.Signature |
SIGN, state, UNINITIALIZED, VERIFY |
| Fields inherited from class java.security.SignatureSpi |
appRandom |
|
Method Summary |
protected java.lang.Object |
engineGetParameter(java.lang.String param)
SPI: There aren't any parameters |
protected void |
engineInitSign(java.security.PrivateKey key)
SPI: Initializes this object for signing
using the private key |
protected void |
engineInitVerify(java.security.PublicKey key)
SPI: Initializes this object for verification
using the given key |
protected void |
engineSetParameter(java.lang.String param,
java.lang.Object value)
SPI: There aren't any parameters |
protected byte[] |
engineSign()
SPI: Sign the input |
protected void |
engineUpdate(byte b)
SPI: Single byte updates are forbidden |
protected void |
engineUpdate(byte[] b,
int off,
int len)
SPI: Updates the data. |
protected boolean |
engineVerify(byte[] signature)
SPI: Verify the input |
void |
setBlindingInfo(java.security.SecureRandom rng,
xjava.security.interfaces.CryptixRSAPublicKey pubKey)
set the RNG for blinding |
protected byte[] |
sigToBytes(java.math.BigInteger num)
|
| Methods inherited from class java.security.Signature |
clone, getAlgorithm, getInstance, getInstance, getParameter, getProvider, initSign, initSign, initVerify, initVerify, setParameter, setParameter, sign, sign, toString, update, update, update, verify |
| Methods inherited from class java.security.SignatureSpi |
engineInitSign, engineSetParameter, engineSign |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RSASignature
public RSASignature()
engineInitVerify
protected void engineInitVerify(java.security.PublicKey key)
throws java.security.InvalidKeyException
- SPI: Initializes this object for verification
using the given key
- Overrides:
engineInitVerify in class java.security.SignatureSpi
- Parameters:
key - the public key- Throws:
java.security.InvalidKeyException - if the key class doesn't
implement CryptixRSAPublicKey
engineInitSign
protected void engineInitSign(java.security.PrivateKey key)
throws java.security.InvalidKeyException
- SPI: Initializes this object for signing
using the private key
- Overrides:
engineInitSign in class java.security.SignatureSpi
- Parameters:
key - the private key- Throws:
java.security.InvalidKeyException - if the key class doesn't
implement than CryptixRSAPrivateKey
engineUpdate
protected void engineUpdate(byte b)
throws java.security.SignatureException
- SPI: Single byte updates are forbidden
- Overrides:
engineUpdate in class java.security.SignatureSpi
- Throws:
java.security.SignatureException - if you do a single byte update
engineUpdate
protected void engineUpdate(byte[] b,
int off,
int len)
throws java.security.SignatureException
- SPI: Updates the data. This can
only be called once with a single data value
or we throw an error
- Overrides:
engineUpdate in class java.security.SignatureSpi
- Parameters:
b - the buffer containing the dataoff - the offset into the bufferlen - the length- Throws:
java.security.SignatureException - either if the algorithm
was improperly initialized or you try to call update
more than once
engineSign
protected byte[] engineSign()
throws java.security.SignatureException
- SPI: Sign the input
- Overrides:
engineSign in class java.security.SignatureSpi
- Returns:
- a signature as a byte string
- Throws:
java.security.SignatureException - bad input
engineVerify
protected boolean engineVerify(byte[] signature)
throws java.security.SignatureException
- SPI: Verify the input
- Overrides:
engineVerify in class java.security.SignatureSpi
- Returns:
- true or false
- Throws:
java.security.SignatureException - bad input
setBlindingInfo
public void setBlindingInfo(java.security.SecureRandom rng,
xjava.security.interfaces.CryptixRSAPublicKey pubKey)
- set the RNG for blinding
- Specified by:
setBlindingInfo in interface Blindable
- Parameters:
rng - a secure RNG
engineSetParameter
protected void engineSetParameter(java.lang.String param,
java.lang.Object value)
throws java.security.InvalidParameterException
- SPI: There aren't any parameters
- Overrides:
engineSetParameter in class java.security.SignatureSpi
engineGetParameter
protected java.lang.Object engineGetParameter(java.lang.String param)
throws java.security.InvalidParameterException
- SPI: There aren't any parameters
- Overrides:
engineGetParameter in class java.security.SignatureSpi
sigToBytes
protected byte[] sigToBytes(java.math.BigInteger num)
Copyright (c) 1999-2001 Claymore Systems, Inc., All Rights Reserved.