Package org.bouncycastle.bcpg
Class ECSecretBCPGKey
java.lang.Object
org.bouncycastle.bcpg.BCPGObject
org.bouncycastle.bcpg.ECSecretBCPGKey
- All Implemented Interfaces:
BCPGKey
,org.bouncycastle.util.Encodable
Base class for an EC Secret Key.
This type is for use with
PublicKeyAlgorithmTags.ECDH
or PublicKeyAlgorithmTags.ECDSA
.
The specific curve is identified by providing an OID.
Regarding X25519, X448, consider the following:
ECDH keys using curve448 are unspecified.
ECDH secret keys using curve25519 use big-endian MPI encoding, contrary to X25519SecretBCPGKey
which uses
native encoding.
Modern implementations use dedicated key types X25519SecretBCPGKey
, X448SecretBCPGKey
along with
dedicated algorithm tags PublicKeyAlgorithmTags.X25519
, PublicKeyAlgorithmTags.X448
.
If you want to be compatible with legacy applications however, you should use this class instead.
Note though, that for v6 keys, X25519SecretBCPGKey
or X448SecretBCPGKey
MUST be used for X25519, X448.- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
encode
(BCPGOutputStream out) byte[]
return the standard PGP encoding of the key.return "PGP"getX()
-
Constructor Details
-
ECSecretBCPGKey
- Parameters:
in
-- Throws:
IOException
-
ECSecretBCPGKey
- Parameters:
x
-
-
-
Method Details
-
getFormat
return "PGP" -
getEncoded
public byte[] getEncoded()return the standard PGP encoding of the key.- Specified by:
getEncoded
in interfaceBCPGKey
- Specified by:
getEncoded
in interfaceorg.bouncycastle.util.Encodable
- Overrides:
getEncoded
in classBCPGObject
- Returns:
- byte[]
- See Also:
-
encode
- Specified by:
encode
in classBCPGObject
- Throws:
IOException
-
getX
- Returns:
- x
-