public abstract class DSSKey
extends java.lang.Object
implements java.security.Key, java.security.interfaces.DSAKey
A base asbtract class for both public and private DSS (Digital Signature
Standard) keys. It encapsulates the three DSS numbers: p,
q and g.
According to the JDK, cryptographic Keys all have a format.
The format used in this implementation is called Raw, and basically
consists of the raw byte sequences of algorithm parameters. The exact order
of the byte sequences and the implementation details are given in each of
the relevant getEncoded() methods of each of the private and
public keys.
DSSPrivateKey.getEncoded(int),
DSSPublicKey.getEncoded(int),
Serialized Form| Modifier and Type | Field and Description |
|---|---|
protected java.math.BigInteger |
g
g = h(p-1)/q mod p, where h is any
integer with 1 < h < p - 1 such that h
(p-1)/q mod p > 1 (g has order q mod p
). |
protected java.math.BigInteger |
p
A prime modulus, where
2L-1 < p < 2L
for 512 <= L <= 1024 and L a multiple of
64. |
protected java.math.BigInteger |
q
A prime divisor of
p - 1, where 2159 < q
< 2160. |
| Modifier | Constructor and Description |
|---|---|
protected |
DSSKey(java.math.BigInteger p,
java.math.BigInteger q,
java.math.BigInteger g)
Trivial protected constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj)
Returns
true if the designated object is an instance of
DSAKey and has the same DSS (Digital Signature Standard) parameter
values as this one. |
java.lang.String |
getAlgorithm() |
byte[] |
getEncoded()
Deprecated.
see getEncoded(int).
|
abstract byte[] |
getEncoded(int format) |
java.lang.String |
getFormat() |
java.security.interfaces.DSAParams |
getParams() |
protected final java.math.BigInteger p
2L-1 < p < 2L
for 512 <= L <= 1024 and L a multiple of
64.protected final java.math.BigInteger q
p - 1, where 2159 < q
< 2160.protected final java.math.BigInteger g
g = h(p-1)/q mod p, where h is any
integer with 1 < h < p - 1 such that h
(p-1)/q mod p > 1 (g has order q mod p
).protected DSSKey(java.math.BigInteger p,
java.math.BigInteger q,
java.math.BigInteger g)
Trivial protected constructor.
p - the DSS parameter p.q - the DSS parameter q.g - the DSS parameter g.public java.security.interfaces.DSAParams getParams()
getParams in interface java.security.interfaces.DSAKeypublic java.lang.String getAlgorithm()
getAlgorithm in interface java.security.Keypublic byte[] getEncoded()
getEncoded in interface java.security.Keypublic java.lang.String getFormat()
getFormat in interface java.security.Keypublic boolean equals(java.lang.Object obj)
Returns true if the designated object is an instance of
DSAKey and has the same DSS (Digital Signature Standard) parameter
values as this one.
equals in class java.lang.Objectobj - the other non-null DSS key to compare to.true if the designated object is of the same type and
value as this one.public abstract byte[] getEncoded(int format)
Copyright © 2025. All rights reserved.