Bouncy Castle Cryptography Library 1.81

org.bouncycastle.bcpg
Class SecretSubkeyPacket

java.lang.Object
  extended byorg.bouncycastle.bcpg.Packet
      extended byorg.bouncycastle.bcpg.ContainedPacket
          extended byorg.bouncycastle.bcpg.SecretKeyPacket
              extended byorg.bouncycastle.bcpg.SecretSubkeyPacket
All Implemented Interfaces:
org.bouncycastle.util.Encodable, PacketTags, PublicKeyAlgorithmTags

public class SecretSubkeyPacket
extends SecretKeyPacket

basic packet for a PGP secret key


Field Summary
 
Fields inherited from class org.bouncycastle.bcpg.SecretKeyPacket
USAGE_AEAD, USAGE_CHECKSUM, USAGE_NONE, USAGE_SHA1
 
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
SecretSubkeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, int aeadAlgorithm, int s2kUsage, S2K s2K, byte[] iv, byte[] secKeyData)
          Create a secret subkey packet.
SecretSubkeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, int s2kUsage, S2K s2k, byte[] iv, byte[] secKeyData)
          Create a secret subkey packet.
SecretSubkeyPacket(PublicKeyPacket pubKeyPacket, int encAlgorithm, S2K s2k, byte[] iv, byte[] secKeyData)
          Create a secret subkey packet.
 
Methods inherited from class org.bouncycastle.bcpg.SecretKeyPacket
encode, getAeadAlgorithm, getEncAlgorithm, getEncodedContents, getIV, getPublicKeyPacket, getS2K, getS2KUsage, getSecretKeyData
 
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
 

Constructor Detail

SecretSubkeyPacket

public SecretSubkeyPacket(PublicKeyPacket pubKeyPacket,
                          int encAlgorithm,
                          S2K s2k,
                          byte[] iv,
                          byte[] secKeyData)
Create a secret subkey packet. If the encryption algorithm is NOT SymmetricKeyAlgorithmTags.NULL, the SecretKeyPacket.USAGE_SHA1 will be used as S2K usage, otherwise the key will be unencrypted (SecretKeyPacket.USAGE_NONE).

Parameters:
pubKeyPacket - public subkey packet
encAlgorithm - encryption algorithm
s2k - s2k identifier
iv - optional iv for the encryption algorithm
secKeyData - secret key data

SecretSubkeyPacket

public SecretSubkeyPacket(PublicKeyPacket pubKeyPacket,
                          int encAlgorithm,
                          int s2kUsage,
                          S2K s2k,
                          byte[] iv,
                          byte[] secKeyData)
Create a secret subkey packet.

Parameters:
pubKeyPacket - public subkey packet
encAlgorithm - encryption algorithm
s2kUsage - s2k usage
s2k - s2k identifier
iv - optional iv for the encryption algorithm
secKeyData - secret key data

SecretSubkeyPacket

public SecretSubkeyPacket(PublicKeyPacket pubKeyPacket,
                          int encAlgorithm,
                          int aeadAlgorithm,
                          int s2kUsage,
                          S2K s2K,
                          byte[] iv,
                          byte[] secKeyData)
Create a secret subkey packet.

Parameters:
pubKeyPacket - public subkey packet
encAlgorithm - encryption algorithm
aeadAlgorithm - aead algorithm
s2kUsage - s2k usage
s2K - s2k identifier
iv - optional iv for the AEAD algorithm or encryption algorithm
secKeyData - secret key data

Bouncy Castle Cryptography Library 1.81