Oracle Security Developer Tools Crypto Java API Reference
10g (10.1.4.0.1)

B28171-01


oracle.security.crypto.core
Class DSAPrivateKey

java.lang.Object
  extended byoracle.security.crypto.core.DSAPrivateKey

All Implemented Interfaces:
ASN1Object, java.lang.Cloneable, java.io.Externalizable, Key, PrivateKey, java.io.Serializable, Streamable

public class DSAPrivateKey
extends java.lang.Object
implements PrivateKey, ASN1Object, java.io.Externalizable

A DSA private key.

A DSA private key contains, in addition to the DSA parameters p, q, and g, an additional integer, x.

The OID used to identify the key algorithm may be set via setKeyAlgOID. The encoding used for keys of this class is based on the PrivateKeyInfo structure of PKCS #8, and is compatible with that used in JDK 1.2.

Note: To input a DSA private key (e.g., from a file), it is preferred to use CryptoUtils.inputPrivateKey. This method is required to input a CDSA format DSA private key.

See Also:
CryptoUtils.inputPrivateKey(java.io.File), Serialized Form

Constructor Summary
DSAPrivateKey()
          Makes a new, uninitialized instance.
DSAPrivateKey(ASN1Sequence s)
           
DSAPrivateKey(java.math.BigInteger x, DSAParams params)
          Makes a new instance with the give value of x and DSAParams.
DSAPrivateKey(byte[] data)
          Makes a new instance by reading its encoding from the given byte array
DSAPrivateKey(java.io.File f)
          Makes a new instance by reading its encoding from the given file.
DSAPrivateKey(java.io.InputStream is)
          Makes a new instance by reading its encoding from the given InputStream.

 

Method Summary
 java.lang.Object clone()
          Creates a deep copy of this DSAPrivateKey instance.
 void erase()
          Erases the key material making the key un-usable.
 void finalize()
          Erases this object prior to being reclaimed by the garbage collector.
 AlgorithmIdentifier getAlgID()
          Returns the algorithm identifier for this key.
 java.lang.String getAlgorithm()
          Gets the algorithm name for this key.
 int getBitLength()
          Returns the number of bits needed to represent the DSAPrivateKey's public component P.
 ASN1Object getContents()
          Returns the contents of this key.
 byte[] getEncoded()
          Outputs the encoding of this object to a byte array.
 java.lang.String getFormat()
          Returns a string which indicates the format of this object's encoding.
 ASN1ObjectID getKeyAlgOID()
          Returns the key algorithm OID.
 DSAParams getParams()
          Returns the DSA algorithm parameters for this private key.
 java.math.BigInteger getX()
          Gets x.
 void initialize(AlgorithmIdentifier algID, ASN1Object contents)
          Initializes this instance from the given algorithm paramters and key contents.
 void input(ASN1Sequence s)
           
 void input(java.io.InputStream is)
          Inputs a DSAPrivateKey object by reading its encoding from the given input stream.
 int length()
          Gets the length of the encoding of this object.
 void output(java.io.OutputStream os)
          Outputs encoding of this object to a given output stream.
 ASN1Sequence outputASN1()
          Returns the ASN1 encoding of this object.
 void readExternal(java.io.ObjectInput is)
           
 void setKeyAlgOID(ASN1ObjectID oid)
          Sets the key algorithm OID.
 void setParams(DSAParams params)
          Sets the DSA algorithm parameters for this public key.
 java.lang.String toString()
           
 void writeExternal(java.io.ObjectOutput os)
           

 

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Constructor Detail

DSAPrivateKey

public DSAPrivateKey()
Makes a new, uninitialized instance.

DSAPrivateKey

public DSAPrivateKey(java.math.BigInteger x,
                     DSAParams params)
Makes a new instance with the give value of x and DSAParams.
Parameters:
x - x
params - the DSAParams of this DSAPrivateKey

DSAPrivateKey

public DSAPrivateKey(java.io.InputStream is)
              throws java.io.IOException
Makes a new instance by reading its encoding from the given InputStream.
Parameters:
is - the InputStream from which the DSAPrivateKey object comes
Throws:
java.io.IOException - If an input exception occured.

DSAPrivateKey

public DSAPrivateKey(java.io.File f)
              throws java.io.IOException
Makes a new instance by reading its encoding from the given file.
Parameters:
f - the file stores a DSAPrivateKey object
Throws:
java.io.IOException - If an input exception occured.

DSAPrivateKey

public DSAPrivateKey(byte[] data)
              throws java.io.IOException
Makes a new instance by reading its encoding from the given byte array
Parameters:
data - the byte array from which the DSAPrivateKey object comes
Throws:
java.io.IOException - If an input exception occured.

DSAPrivateKey

public DSAPrivateKey(ASN1Sequence s)
              throws java.io.IOException

Method Detail

initialize

public void initialize(AlgorithmIdentifier algID,
                       ASN1Object contents)
                throws AlgorithmIdentifierException,
                       InvalidInputException
Description copied from interface: PrivateKey
Initializes this instance from the given algorithm paramters and key contents.
Specified by:
initialize in interface PrivateKey
Throws:
AlgorithmIdentifierException
InvalidInputException

getAlgID

public AlgorithmIdentifier getAlgID()
Description copied from interface: PrivateKey
Returns the algorithm identifier for this key.
Specified by:
getAlgID in interface PrivateKey

getContents

public ASN1Object getContents()
Description copied from interface: PrivateKey
Returns the contents of this key.
Specified by:
getContents in interface PrivateKey

getX

public java.math.BigInteger getX()
Gets x.
Returns:
x

setParams

public void setParams(DSAParams params)
Sets the DSA algorithm parameters for this public key.

getParams

public DSAParams getParams()
Returns the DSA algorithm parameters for this private key.
Returns:
the algorithm parameters

input

public void input(java.io.InputStream is)
           throws java.io.IOException
Inputs a DSAPrivateKey object by reading its encoding from the given input stream.
Specified by:
input in interface Streamable
Parameters:
is - the input stream from which this object will be read
Throws:
java.io.IOException - If an input exception occured.

input

public void input(ASN1Sequence s)
           throws java.io.IOException
Throws:
java.io.IOException

getFormat

public java.lang.String getFormat()
Returns a string which indicates the format of this object's encoding.
Specified by:
getFormat in interface Key
Returns:
"PKCS#8"

getAlgorithm

public java.lang.String getAlgorithm()
Gets the algorithm name for this key.
Specified by:
getAlgorithm in interface Key
Returns:
"DSA"

getEncoded

public byte[] getEncoded()
Outputs the encoding of this object to a byte array.
Specified by:
getEncoded in interface Key
Returns:
the encoding of this object

getBitLength

public int getBitLength()
Returns the number of bits needed to represent the DSAPrivateKey's public component P.

0 will be returned if the key has not been initialized.

Specified by:
getBitLength in interface Key

toString

public java.lang.String toString()

getKeyAlgOID

public ASN1ObjectID getKeyAlgOID()
Returns the key algorithm OID. If no key algorithm OID has been set, then the default, DSA.dsaKeyOID, is returned.
Returns:
the key algorithm OID
See Also:
DSA.dsaKeyOID

setKeyAlgOID

public void setKeyAlgOID(ASN1ObjectID oid)
Sets the key algorithm OID.
Parameters:
oid - the key algorithm OID

erase

public void erase()
Erases the key material making the key un-usable.

Keys can be erased multiple times with no consequence.

Specified by:
erase in interface Key

finalize

public void finalize()
Erases this object prior to being reclaimed by the garbage collector.

Note: There is no guarantee of when, if ever, finalize will be invoked by the Java runtime.


clone

public java.lang.Object clone()
Creates a deep copy of this DSAPrivateKey instance.
Specified by:
clone in interface Key

output

public void output(java.io.OutputStream os)
            throws java.io.IOException
Outputs encoding of this object to a given output stream.
Specified by:
output in interface Streamable
Parameters:
os - he output stream to which the encoding of this object will be written
Throws:
java.io.IOException - If an output exception occured.

outputASN1

public ASN1Sequence outputASN1()
Returns the ASN1 encoding of this object.

length

public int length()
Gets the length of the encoding of this object.
Specified by:
length in interface Streamable
Returns:
the length of the encoding of this object.

writeExternal

public void writeExternal(java.io.ObjectOutput os)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput is)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException

Oracle Security Developer Tools Crypto Java API Reference
10g (10.1.4.0.1)

B28171-01


Copyright © 2005 ,2006 , Oracle. All rights reserved.