public class SecretKeyPacket extends ContainedPacket implements PublicKeyAlgorithmTags
Modifier and Type | Field and Description |
---|---|
static int |
USAGE_AEAD
S2K-usage octet indicating that the secret key material is protected using an AEAD scheme.
|
static int |
USAGE_CHECKSUM
Deprecated.
Use of MalleableCFB is deprecated.
For v4 keys, use
USAGE_SHA1 instead.
For v6 keys use USAGE_AEAD instead. |
static int |
USAGE_NONE
S2K-usage octet indicating that the secret key material is unprotected.
|
static int |
USAGE_SHA1
S2K-usage octet indicating that the secret key material is protected using a cipher in CFB mode.
|
AEDH, AEDSA, DIFFIE_HELLMAN, DSA, EC, ECDH, ECDSA, Ed25519, Ed448, EDDSA, EDDSA_LEGACY, ELGAMAL_ENCRYPT, ELGAMAL_GENERAL, EXPERIMENTAL_1, EXPERIMENTAL_10, EXPERIMENTAL_11, EXPERIMENTAL_2, EXPERIMENTAL_3, EXPERIMENTAL_4, EXPERIMENTAL_5, EXPERIMENTAL_6, EXPERIMENTAL_7, EXPERIMENTAL_8, EXPERIMENTAL_9, RSA_ENCRYPT, RSA_GENERAL, RSA_SIGN, X25519, X448
AEAD_ENC_DATA, COMPRESSED_DATA, EXPERIMENTAL_1, EXPERIMENTAL_2, EXPERIMENTAL_3, EXPERIMENTAL_4, LITERAL_DATA, MARKER, MOD_DETECTION_CODE, ONE_PASS_SIGNATURE, PADDING, PUBLIC_KEY, PUBLIC_KEY_ENC_SESSION, PUBLIC_SUBKEY, RESERVED, SECRET_KEY, SECRET_SUBKEY, SIGNATURE, SYM_ENC_INTEGRITY_PRO, SYMMETRIC_KEY_ENC, SYMMETRIC_KEY_ENC_SESSION, TRUST, USER_ATTRIBUTE, USER_ID
Constructor and Description |
---|
SecretKeyPacket(PublicKeyPacket pubKeyPacket,
int encAlgorithm,
int aeadAlgorithm,
int s2kUsage,
S2K s2k,
byte[] iv,
byte[] secKeyData)
Construct a
SecretKeyPacket or SecretSubkeyPacket . |
SecretKeyPacket(PublicKeyPacket pubKeyPacket,
int encAlgorithm,
int s2kUsage,
S2K s2k,
byte[] iv,
byte[] secKeyData)
Construct a
SecretKeyPacket or SecretSubkeyPacket . |
SecretKeyPacket(PublicKeyPacket pubKeyPacket,
int encAlgorithm,
S2K s2k,
byte[] iv,
byte[] secKeyData)
Construct a
SecretKeyPacket . |
Modifier and Type | Method and Description |
---|---|
void |
encode(BCPGOutputStream out)
Encode the packet into the given
BCPGOutputStream . |
int |
getAeadAlgorithm()
Return the algorithm ID of the AEAD algorithm that was used to protect the secret key material.
|
int |
getEncAlgorithm()
Return the algorithm ID of the symmetric key algorithm that was used to encrypt the secret key material.
|
byte[] |
getEncodedContents()
Return the encoded packet content without packet frame.
|
byte[] |
getIV()
Return the IV that was used to protect the secret key material.
|
PublicKeyPacket |
getPublicKeyPacket()
Return the public key packet corresponding to the secret key packet.
|
S2K |
getS2K()
Return the S2K identifier describing, how to derive the symmetric key to protect the secret key material with.
|
int |
getS2KUsage()
Return the S2K usage mode indicating how the secret key material is protected.
|
byte[] |
getSecretKeyData()
Return the encrypted/checksum'd secret key data.
|
getEncoded, getEncoded
getPacketTag, hasNewPacketFormat, isCritical
public static final int USAGE_NONE
public static final int USAGE_CHECKSUM
USAGE_SHA1
instead.
For v6 keys use USAGE_AEAD
instead.public static final int USAGE_SHA1
public static final int USAGE_AEAD
public SecretKeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, S2K s2k, byte[] iv, byte[] secKeyData)
SecretKeyPacket
.
Note: secKeyDataneeds to be prepared by applying encryption/checksum beforehand.
pubKeyPacket
- pubkey packet corresponding to this secret key packet.encAlgorithm
- algorithm id of the symmetric key algorithm that was used to encrypt the secret key materials2k
- s2k identifier for deriving a key from a passphraseiv
- IV that was used to encrypt the secret key materialsecKeyData
- encrypted/checksum'd secret key materialpublic SecretKeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, int s2kUsage, S2K s2k, byte[] iv, byte[] secKeyData)
SecretKeyPacket
or SecretSubkeyPacket
.
Note: secKeyDataneeds to be prepared by applying encryption/checksum beforehand.
pubKeyPacket
- pubkey packet corresponding to this secret key packet.encAlgorithm
- algorithm id of the symmetric key algorithm that was used to encrypt the secret key materials2kUsage
- octet indicating, how the secert key material was protecteds2k
- s2k identifier for deriving a key from a passphraseiv
- IV that was used to encrypt the secret key materialsecKeyData
- encrypted/checksum'd secret key materialpublic SecretKeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, int aeadAlgorithm, int s2kUsage, S2K s2k, byte[] iv, byte[] secKeyData)
SecretKeyPacket
or SecretSubkeyPacket
.
Note: secKeyDataneeds to be prepared by applying encryption/checksum beforehand.
pubKeyPacket
- pubkey packet corresponding to this secret key packet.encAlgorithm
- algorithm id of the symmetric key algorithm that was used to encrypt the secret key materialaeadAlgorithm
- AEAD algorithm scheme used to protect the secret key material withs2kUsage
- octet indicating how the secret key material was encrypteds2k
- s2k identifier for deriving a key from a passphraseiv
- IV that was used to encrypt the secret key materialsecKeyData
- encrypted/checksum'd secret key materialpublic int getEncAlgorithm()
public int getAeadAlgorithm()
public int getS2KUsage()
public byte[] getIV()
public S2K getS2K()
public PublicKeyPacket getPublicKeyPacket()
public byte[] getSecretKeyData()
public byte[] getEncodedContents() throws java.io.IOException
java.io.IOException
public void encode(BCPGOutputStream out) throws java.io.IOException
BCPGOutputStream
.
If the packet output stream has PacketFormat.ROUNDTRIP
set, the packet format to encode the packet length
with depends on the result of Packet.hasNewPacketFormat()
.
Otherwise, the packet output stream dictates the packet format.encode
in class ContainedPacket
out
- packet output streamjava.io.IOException