|
Bouncy Castle Cryptography Library 1.79 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.bouncycastle.bcpg.Packet | +--org.bouncycastle.bcpg.ContainedPacket | +--org.bouncycastle.bcpg.SecretKeyPacket
Base class for OpenPGP secret (primary) keys.
Field Summary | |
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. |
Fields inherited from interface org.bouncycastle.bcpg.PublicKeyAlgorithmTags |
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 |
Fields inherited from interface org.bouncycastle.bcpg.PacketTags |
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 Summary | |
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 . |
Method Summary | |
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. |
Methods inherited from class org.bouncycastle.bcpg.ContainedPacket |
getEncoded, getEncoded |
Methods inherited from class org.bouncycastle.bcpg.Packet |
getPacketTag, hasNewPacketFormat, isCritical |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
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
Constructor Detail |
public SecretKeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, S2K s2k, byte[] iv, byte[] secKeyData)
SecretKeyPacket
.
Note: secKeyData needs 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: secKeyData needs 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: secKeyData needs 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 materialMethod Detail |
public 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
-
|
Bouncy Castle Cryptography Library 1.79 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |