diff options
Diffstat (limited to 'libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ECDHPublicBCPGKey.java')
-rw-r--r-- | libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ECDHPublicBCPGKey.java | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ECDHPublicBCPGKey.java b/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ECDHPublicBCPGKey.java deleted file mode 100644 index a1ddfffb2..000000000 --- a/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ECDHPublicBCPGKey.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.spongycastle.bcpg; - -import java.io.IOException; - -import org.spongycastle.asn1.ASN1ObjectIdentifier; -import org.spongycastle.math.ec.ECPoint; - -/** - * base class for an ECDH Public Key. - */ -public class ECDHPublicBCPGKey - extends ECPublicBCPGKey -{ - private byte reserved; - private byte hashFunctionId; - private byte symAlgorithmId; - - /** - * @param in the stream to read the packet from. - */ - public ECDHPublicBCPGKey( - BCPGInputStream in) - throws IOException - { - super(in); - - int length = in.read(); - byte[] kdfParameters = new byte[length]; - if (kdfParameters.length != 3) - { - throw new IllegalStateException("kdf parameters size of 3 expected."); - } - - in.read(kdfParameters); - - reserved = kdfParameters[0]; - hashFunctionId = kdfParameters[1]; - symAlgorithmId = kdfParameters[2]; - - verifyHashAlgorithm(); - verifySymmetricKeyAlgorithm(); - } - - public ECDHPublicBCPGKey( - ASN1ObjectIdentifier oid, - ECPoint point, - int hashAlgorithm, - int symmetricKeyAlgorithm) - { - super(oid, point); - - reserved = 1; - hashFunctionId = (byte)hashAlgorithm; - symAlgorithmId = (byte)symmetricKeyAlgorithm; - - verifyHashAlgorithm(); - verifySymmetricKeyAlgorithm(); - } - - public byte getReserved() - { - return reserved; - } - - public byte getHashAlgorithm() - { - return hashFunctionId; - } - - public byte getSymmetricKeyAlgorithm() - { - return symAlgorithmId; - } - - public void encode( - BCPGOutputStream out) - throws IOException - { - super.encode(out); - out.write(0x3); - out.write(reserved); - out.write(hashFunctionId); - out.write(symAlgorithmId); - } - - private void verifyHashAlgorithm() - { - switch (hashFunctionId) - { - case HashAlgorithmTags.SHA256: - case HashAlgorithmTags.SHA384: - case HashAlgorithmTags.SHA512: - break; - - default: - throw new IllegalStateException("Hash algorithm must be SHA-256 or stronger."); - } - } - - private void verifySymmetricKeyAlgorithm() - { - switch (symAlgorithmId) - { - case SymmetricKeyAlgorithmTags.AES_128: - case SymmetricKeyAlgorithmTags.AES_192: - case SymmetricKeyAlgorithmTags.AES_256: - break; - - default: - throw new IllegalStateException("Symmetric key algorithm must be AES-128 or stronger."); - } - } -} |