Bouncy Castle Cryptography Library 1.79

org.bouncycastle.bcpg
Class SymmetricKeyEncSessionPacket

java.lang.Object
  |
  +--org.bouncycastle.bcpg.Packet
        |
        +--org.bouncycastle.bcpg.ContainedPacket
              |
              +--org.bouncycastle.bcpg.SymmetricKeyEncSessionPacket
All Implemented Interfaces:
org.bouncycastle.util.Encodable, PacketTags

public class SymmetricKeyEncSessionPacket
extends ContainedPacket

Basic type for a symmetric encrypted session key packet


Field Summary
static int VERSION_4
          Version 4 SKESK packet.
static int VERSION_5
          Version 5 SKESK packet.
static int VERSION_6
          Version 6 SKESK packet.
 
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
SymmetricKeyEncSessionPacket(BCPGInputStream in)
           
SymmetricKeyEncSessionPacket(BCPGInputStream in, boolean newPacketFormat)
           
SymmetricKeyEncSessionPacket(int encAlgorithm, S2K s2k, byte[] secKeyData)
          Deprecated. use createVersion4Packet()
 
Method Summary
static byte[] createAAData(int version, int encAlgorithm, int aeadAlgorithm)
           
static SymmetricKeyEncSessionPacket createV4Packet(int encAlgorithm, S2K s2k, byte[] secKeyData)
          Create a v4 SKESK packet.
static SymmetricKeyEncSessionPacket createV5Packet(int encAlgorithm, int aeadAlgorithm, byte[] iv, S2K s2k, byte[] secKeyData, byte[] authTag)
          Create a v5 SKESK packet.
static SymmetricKeyEncSessionPacket createV6Packet(int encAlgorithm, int aeadAlgorithm, byte[] iv, S2K s2k, byte[] secKeyData, byte[] authTag)
          Create a v6 SKESK packet.
 void encode(BCPGOutputStream out)
           
 byte[] getAAData()
           
 int getAeadAlgorithm()
          Return the AEAD algorithm tag.
 byte[] getAuthTag()
          Return the authentication tag for the AEAD mode.
 int getEncAlgorithm()
           
 byte[] getIv()
          Return the IV for the AEAD mode.
 S2K getS2K()
           
 byte[] getSecKeyData()
           
 int getVersion()
           
 
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

VERSION_4

public static final int VERSION_4
Version 4 SKESK packet. Used only with V1 SEIPD or SED packets.

VERSION_5

public static final int VERSION_5
Version 5 SKESK packet. LibrePGP only. Used only with AED packets.

VERSION_6

public static final int VERSION_6
Version 6 SKESK packet. Used only with V2 SEIPD packets.
Constructor Detail

SymmetricKeyEncSessionPacket

public SymmetricKeyEncSessionPacket(BCPGInputStream in)
                             throws java.io.IOException

SymmetricKeyEncSessionPacket

public SymmetricKeyEncSessionPacket(BCPGInputStream in,
                                    boolean newPacketFormat)
                             throws java.io.IOException

SymmetricKeyEncSessionPacket

public SymmetricKeyEncSessionPacket(int encAlgorithm,
                                    S2K s2k,
                                    byte[] secKeyData)
Deprecated. use createVersion4Packet()

Create a v4 SKESK packet.
Parameters:
encAlgorithm - symmetric encryption algorithm
s2k - s2k
secKeyData - encrypted session key
Method Detail

createV4Packet

public static SymmetricKeyEncSessionPacket createV4Packet(int encAlgorithm,
                                                          S2K s2k,
                                                          byte[] secKeyData)
Create a v4 SKESK packet.
Parameters:
encAlgorithm - symmetric encryption algorithm
s2k - s2k specifier
secKeyData - encrypted session key

createV5Packet

public static SymmetricKeyEncSessionPacket createV5Packet(int encAlgorithm,
                                                          int aeadAlgorithm,
                                                          byte[] iv,
                                                          S2K s2k,
                                                          byte[] secKeyData,
                                                          byte[] authTag)
Create a v5 SKESK packet.
Parameters:
encAlgorithm - symmetric encryption algorithm
aeadAlgorithm - aead algorithm
iv - initialization vector
s2k - s2k specifier
secKeyData - encrypted session key
authTag - authentication tag

createV6Packet

public static SymmetricKeyEncSessionPacket createV6Packet(int encAlgorithm,
                                                          int aeadAlgorithm,
                                                          byte[] iv,
                                                          S2K s2k,
                                                          byte[] secKeyData,
                                                          byte[] authTag)
Create a v6 SKESK packet.
Parameters:
encAlgorithm - symmetric encryption algorithm
aeadAlgorithm - aead algorithm
s2k - s2k specifier
iv - initialization vector
secKeyData - encrypted session key
authTag - authentication tag

getEncAlgorithm

public int getEncAlgorithm()
Returns:
int

getS2K

public S2K getS2K()
Returns:
S2K

getSecKeyData

public byte[] getSecKeyData()
Returns:
byte[]

getVersion

public int getVersion()
Returns:
int

getAeadAlgorithm

public int getAeadAlgorithm()
Return the AEAD algorithm tag. V5 packet only.
Returns:
aead algorithm

getIv

public byte[] getIv()
Return the IV for the AEAD mode. This is also called nonce. V5 packet only.
Returns:
iv

getAuthTag

public byte[] getAuthTag()
Return the authentication tag for the AEAD mode. V5 packet only.
Returns:
AEAD auth tag

getAAData

public byte[] getAAData()

createAAData

public static byte[] createAAData(int version,
                                  int encAlgorithm,
                                  int aeadAlgorithm)

encode

public void encode(BCPGOutputStream out)
            throws java.io.IOException
Overrides:
encode in class ContainedPacket

Bouncy Castle Cryptography Library 1.79