diff options
Diffstat (limited to 'pg/src/main/java/org/spongycastle/bcpg/ElGamalSecretBCPGKey.java')
-rw-r--r-- | pg/src/main/java/org/spongycastle/bcpg/ElGamalSecretBCPGKey.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/pg/src/main/java/org/spongycastle/bcpg/ElGamalSecretBCPGKey.java b/pg/src/main/java/org/spongycastle/bcpg/ElGamalSecretBCPGKey.java new file mode 100644 index 00000000..9a7d2b02 --- /dev/null +++ b/pg/src/main/java/org/spongycastle/bcpg/ElGamalSecretBCPGKey.java @@ -0,0 +1,79 @@ +package org.spongycastle.bcpg; + +import java.io.*; +import java.math.BigInteger; + +/** + * base class for an ElGamal Secret Key. + */ +public class ElGamalSecretBCPGKey + extends BCPGObject implements BCPGKey +{ + MPInteger x; + + /** + * + * @param in + * @throws IOException + */ + public ElGamalSecretBCPGKey( + BCPGInputStream in) + throws IOException + { + this.x = new MPInteger(in); + } + + /** + * + * @param x + */ + public ElGamalSecretBCPGKey( + BigInteger x) + { + this.x = new MPInteger(x); + } + + /** + * return "PGP" + * + * @see org.spongycastle.bcpg.BCPGKey#getFormat() + */ + public String getFormat() + { + return "PGP"; + } + + public BigInteger getX() + { + return x.getValue(); + } + + /** + * return the standard PGP encoding of the key. + * + * @see org.spongycastle.bcpg.BCPGKey#getEncoded() + */ + public byte[] getEncoded() + { + try + { + ByteArrayOutputStream bOut = new ByteArrayOutputStream(); + BCPGOutputStream pgpOut = new BCPGOutputStream(bOut); + + pgpOut.writeObject(this); + + return bOut.toByteArray(); + } + catch (IOException e) + { + return null; + } + } + + public void encode( + BCPGOutputStream out) + throws IOException + { + out.writeObject(x); + } +} |