gnu.crypto.key.dss

Class DSSKeyPairRawCodec

public class DSSKeyPairRawCodec extends Object implements IKeyPairCodec

An object that implements the IKeyPairCodec operations for the Raw format to use with DSS keypairs.

Version: $Revision: 1.2 $

Method Summary
PrivateKeydecodePrivateKey(byte[] k)
PublicKeydecodePublicKey(byte[] k)
byte[]encodePrivateKey(PrivateKey key)

Returns the encoded form of the designated DSS (Digital Signature Standard) private key according to the Raw format supported by this library.

The Raw format for a DSA private key, in this implementation, is a byte sequence consisting of the following:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DSS_PRIVATE_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DSA parameter p in internet order,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter p,
  5. 4-byte count of following bytes representing the DSA parameter q,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter q,
  7. 4-byte count of following bytes representing the DSA parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter g,
  9. 4-byte count of following bytes representing the DSA parameter x,
  10. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter x,
byte[]encodePublicKey(PublicKey key)

Returns the encoded form of the designated DSS (Digital Signature Standard) public key according to the Raw format supported by this library.

The Raw format for a DSA public key, in this implementation, is a byte sequence consisting of the following:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DSS_PUBLIC_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DSA parameter p in internet order,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter p,
  5. 4-byte count of following bytes representing the DSA parameter q,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter q,
  7. 4-byte count of following bytes representing the DSA parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter g,
  9. 4-byte count of following bytes representing the DSA parameter y,
  10. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter y,
intgetFormatID()

Method Detail

decodePrivateKey

public PrivateKey decodePrivateKey(byte[] k)

decodePublicKey

public PublicKey decodePublicKey(byte[] k)

encodePrivateKey

public byte[] encodePrivateKey(PrivateKey key)

Returns the encoded form of the designated DSS (Digital Signature Standard) private key according to the Raw format supported by this library.

The Raw format for a DSA private key, in this implementation, is a byte sequence consisting of the following:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DSS_PRIVATE_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DSA parameter p in internet order,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter p,
  5. 4-byte count of following bytes representing the DSA parameter q,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter q,
  7. 4-byte count of following bytes representing the DSA parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter g,
  9. 4-byte count of following bytes representing the DSA parameter x,
  10. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter x,

Parameters: key the key to encode.

Returns: the Raw format encoding of the designated key.

Throws: IllegalArgumentException if the designated key is not a DSS (Digital Signature Standard) one.

encodePublicKey

public byte[] encodePublicKey(PublicKey key)

Returns the encoded form of the designated DSS (Digital Signature Standard) public key according to the Raw format supported by this library.

The Raw format for a DSA public key, in this implementation, is a byte sequence consisting of the following:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DSS_PUBLIC_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DSA parameter p in internet order,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter p,
  5. 4-byte count of following bytes representing the DSA parameter q,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter q,
  7. 4-byte count of following bytes representing the DSA parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter g,
  9. 4-byte count of following bytes representing the DSA parameter y,
  10. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DSA parameter y,

Parameters: key the key to encode.

Returns: the Raw format encoding of the designated key.

Throws: IllegalArgumentException if the designated key is not a DSS (Digital Signature Standard) one.

See Also: MAGIC_RAW_DSS_PUBLIC_KEY

getFormatID

public int getFormatID()
Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.