|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.DSACryptoSystem
public final class DSACryptoSystem
Represents the system of asymmetric cryptography which is based on the Discrete Logarithm Problem.
The Digital Signature Algorithm ( DSA ) is defined in FIPS 186.
DSAPublicKey
,
DSAPrivateKey
Field Summary | ||
---|---|---|
|
static String |
SUN1024
Represents the 1024 bit parameters defined in the SUN JCA. |
|
static String |
SUN512
Represents the 512 bit parameters defined in the SUN JCA. |
|
static String |
SUN768
Represents the 768 bit parameters defined in the SUN JCA. |
Constructor Summary | ||
---|---|---|
|
DSACryptoSystem()
Creates the DSACryptoSystem object with the specified SUN1024 parameters. |
|
|
DSACryptoSystem(byte[] p,
byte[] q,
byte[] g)
Creates a DSACryptoCystem object with the specified p, q and g
domain parameters. |
|
|
DSACryptoSystem(byte[] p,
byte[] q,
byte[] g,
String name)
Creates a DSACryptoSystem object with the specified p, q and g
domain parameters. |
|
|
DSACryptoSystem(String name)
Creates the DSACryptoSystem object using the specified parameters. |
|
|
DSACryptoSystem(DSACryptoToken cryptoToken,
byte[] p,
byte[] q,
byte[] g,
String name)
Creates a DSACryptoSystem object with the specified p, q and g
domain parameters. |
|
|
DSACryptoSystem(DSACryptoToken cryptoToken,
String name)
Creates the DSACryptoCystem object using the specified parameters. |
|
|
DSACryptoSystem(DSACryptoToken cryptoToken,
CryptoTokenCryptoSystemData cryptoTokenData)
Creates a DSACryptoSystem object using the specified crypto
token and crypto token data. |
Method Summary | ||
---|---|---|
|
DSAKeyPair |
createDSAKeyPair()
|
|
KeyPair |
createKeyPair()
Creates a new key pair using this crypto system. |
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
|
String |
getAlgorithm()
Returns a String that indicates the algorithm, ie "DSA". |
|
AsymmetricCryptoToken |
getAsymmetricCryptoToken()
Returns the DSACryptoToken object associated with the crypto
system. |
|
int |
getBitLength()
Returns the number of bits (aka the "strength") of the crypto system, eg 1024 (for RSA), 163 (for EC). |
|
CryptoTokenCryptoSystemData |
getCryptoTokenData()
Returns the crypto token data used to create the crypto system. |
|
byte[] |
getG()
Returns the g domain parameter. |
|
String |
getName()
Returns a String that indicates the set of parameters in use, eg "SUN1024", or null. |
|
byte[] |
getP()
Returns the p domain parameter. |
|
int |
getPrivateKeyLength()
Returns the length of the private key. |
|
int |
getPublicKeyLength()
Returns the length of the public key. |
|
byte[] |
getQ()
Returns the q domain parameter, or null. |
|
int |
hashCode()
Returns a hash code value for the object. |
|
boolean |
isStrong()
Returns whether or not the CryptoSystem is cryptographically strong as of the release date of the code. |
|
void |
verify()
Performs integrity checks on the crypto system parameters. |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String SUN512
public static final String SUN768
public static final String SUN1024
Constructor Detail |
---|
public DSACryptoSystem()
DSACryptoSystem
object with the specified SUN1024 parameters.
public DSACryptoSystem(String name)
DSACryptoSystem
object using the specified parameters.
name
- Specifies the parameters to use.public DSACryptoSystem(DSACryptoToken cryptoToken, String name) throws CryptoTokenException, CryptoUnsupportedOperationException, UnsupportedCryptoSystemException
DSACryptoCystem
object using the specified parameters.
cryptoToken
- The crypto token.name
- Specifies the parameters to use.
CryptoTokenException
- Thrown when a problem occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.
UnsupportedCryptoSystemException
- Thrown when the crypto system is
invalid or unsupported.public DSACryptoSystem(byte[] p, byte[] q, byte[] g) throws InvalidCryptoSystemException, UnsupportedCryptoSystemException
DSACryptoCystem
object with the specified p, q and g
domain parameters.
p
- The p domain parameter.q
- The q domain parameter.g
- the g domain parameter.
InvalidCryptoSystemException
- Thrown if any or all of the given
parameters are invalid.
UnsupportedCryptoSystemException
- Thrown if the specified crypto system is invalid.public DSACryptoSystem(byte[] p, byte[] q, byte[] g, String name) throws InvalidCryptoSystemException, UnsupportedCryptoSystemException
DSACryptoSystem
object with the specified p, q and g
domain parameters.
p
- The p domain parameter.q
- The q domain parameter. May not be null.g
- The g domain parameter.name
- A String containing a description of the parameters, eg "SUN1024".
InvalidCryptoSystemException
- Thrown if any or all of the given
parameters are invalid.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is not supported.public DSACryptoSystem(DSACryptoToken cryptoToken, byte[] p, byte[] q, byte[] g, String name) throws CryptoTokenException, CryptoUnsupportedOperationException, InvalidCryptoSystemException, UnsupportedCryptoSystemException
DSACryptoSystem
object with the specified p, q and g
domain parameters.
cryptoToken
- The token used to create the system.p
- The p domain parameter.q
- The q domain parameter. May not be null.g
- The g domain parameter.name
- A String containing a description of the parameters, eg
"SUN1024".
CryptoTokenException
- Thrown when a problem occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to an
unsupported operation.
InvalidCryptoSystemException
- Thrown if any or all of the given
parameters are invalid.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is not supported.public DSACryptoSystem(DSACryptoToken cryptoToken, CryptoTokenCryptoSystemData cryptoTokenData)
DSACryptoSystem
object using the specified crypto
token and crypto token data.
cryptoToken
- A crypto token used to create the crypto system.cryptoTokenData
- The data associated with the crypto token.Method Detail |
---|
public void verify() throws InvalidCryptoSystemException, CryptoTokenException, CryptoUnsupportedOperationException
verify
in interface CryptoSystem
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.
Then, the verifyCryptoSystemData
method of the associated crypto
token is called.
InvalidCryptoSystemException
- Thrown if the crypto system
parameters are invalidpublic String getAlgorithm()
This method will always return the String "DSA".
getAlgorithm
in interface CryptoSystem
public AsymmetricCryptoToken getAsymmetricCryptoToken()
DSACryptoToken
object associated with the crypto
system.
getAsymmetricCryptoToken
in interface CryptoSystem
public CryptoTokenCryptoSystemData getCryptoTokenData()
public int getBitLength() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoSystem
Note: the strength of a CryptoSystem is a combination of the algorithm and the bit length. For example, a 1024 bit RSA CryptoSystem is estimated to have the same cryptographic strength as 160 bit EC CryptoSystem.
getBitLength
in interface CryptoSystem
CryptoTokenException
- Thrown when a problem occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.CryptoSystem.isStrong()
public boolean isStrong() throws CryptoTokenException, CryptoUnsupportedOperationException
Note: Due to the nature of cryptography, things that are presently strong may be insecure in the future.
isStrong
in interface CryptoSystem
CryptoTokenException
- Thrown when a problem occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.public String getName() throws CryptoTokenException, CryptoUnsupportedOperationException
getName
in interface CryptoSystem
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public byte[] getP() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public byte[] getQ() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public byte[] getG() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public int getPublicKeyLength() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public int getPrivateKeyLength() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public int hashCode()
Object
java.util.Hashtable
.
The general contract of hashCode
is:
hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
The equals
method implements an equivalence relation:
x
,
x.equals(x)
should return true
.
x
and
y
, x.equals(y)
should return
true
if and only if y.equals(x)
returns
true
.
x
,
y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns
true
, then x.equals(z)
should return
true
.
x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return
false
, provided no information used in
equals
comparisons on the object is modified.
x
,
x.equals(null)
should return false
.
The equals method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any reference values x
and y
,
this method returns true
if and only if x
and
y
refer to the same object (x==y
has the
value true
).
equals
in class Object
obj
- the reference object with which to compare.
true
if this object is the same as the obj
argument; false
otherwise.Boolean.hashCode()
,
Hashtable
public KeyPair createKeyPair() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoSystem
createKeyPair
in interface CryptoSystem
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown if a call is made to
an unsupported operation.public DSAKeyPair createDSAKeyPair() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
CryptoUnsupportedOperationException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal