For the latest news and information visit
The GNU Crypto project

gnu.crypto.key.dss
Class DSSPublicKey

java.lang.Object
  extended bygnu.crypto.key.dss.DSSKey
      extended bygnu.crypto.key.dss.DSSPublicKey
All Implemented Interfaces:
java.security.interfaces.DSAKey, java.security.interfaces.DSAPublicKey, java.security.Key, java.security.PublicKey, java.io.Serializable

public class DSSPublicKey
extends DSSKey
implements java.security.PublicKey, java.security.interfaces.DSAPublicKey

An object that embodies a DSS (Digital Signature Standard) public key.

Version:
$Revision: 1.2 $
See Also:
getEncoded(int), Serialized Form

Field Summary
 
Fields inherited from class gnu.crypto.key.dss.DSSKey
g, p, q
 
Fields inherited from interface java.security.PublicKey
serialVersionUID
 
Fields inherited from interface java.security.interfaces.DSAPublicKey
serialVersionUID
 
Constructor Summary
DSSPublicKey(java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g, java.math.BigInteger y)
          Trivial constructor.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Returns true if the designated object is an instance of DSAPublicKey and has the same DSS (Digital Signature Standard) parameter values as this one.
 byte[] getEncoded(int format)
          Returns the encoded form of this public key according to the designated format.
 java.math.BigInteger getY()
           
static DSSPublicKey valueOf(byte[] k)
          A class method that takes the output of the encodePublicKey() method of a DSS keypair codec object (an instance implementing IKeyPairCodec for DSS keys, and re-constructs an instance of this object.
 
Methods inherited from class gnu.crypto.key.dss.DSSKey
getAlgorithm, getEncoded, getFormat, getParams
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.security.Key
getAlgorithm, getEncoded, getFormat
 
Methods inherited from interface java.security.interfaces.DSAKey
getParams
 

Constructor Detail

DSSPublicKey

public DSSPublicKey(java.math.BigInteger p,
                    java.math.BigInteger q,
                    java.math.BigInteger g,
                    java.math.BigInteger y)

Trivial constructor.

Parameters:
p - the public modulus.
q - the public prime divisor of p-1.
g - a generator of the unique cyclic group Z* p.
y - the public key part.
Method Detail

valueOf

public static DSSPublicKey valueOf(byte[] k)

A class method that takes the output of the encodePublicKey() method of a DSS keypair codec object (an instance implementing IKeyPairCodec for DSS keys, and re-constructs an instance of this object.

Parameters:
k - the contents of a previously encoded instance of this object.
Throws:
java.lang.ArrayIndexOutOfBoundsException - if there is not enough bytes, in k, to represent a valid encoding of an instance of this object.
java.lang.IllegalArgumentException - if the byte sequence does not represent a valid encoding of an instance of this object.

getY

public java.math.BigInteger getY()
Specified by:
getY in interface java.security.interfaces.DSAPublicKey

getEncoded

public byte[] getEncoded(int format)

Returns the encoded form of this public key according to the designated format.

Specified by:
getEncoded in class DSSKey
Parameters:
format - the desired format identifier of the resulting encoding.
Returns:
the byte sequence encoding this key according to the designated format.
Throws:
java.lang.IllegalArgumentException - if the format is not supported.
See Also:
DSSKeyPairRawCodec

equals

public boolean equals(java.lang.Object obj)

Returns true if the designated object is an instance of DSAPublicKey and has the same DSS (Digital Signature Standard) parameter values as this one.

Overrides:
equals in class DSSKey
Parameters:
obj - the other non-null DSS key to compare to.
Returns:
true if the designated object is of the same type and value as this one.

For the latest news and information visit
The GNU Crypto project

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.