org.bouncycastle.openpgp.PGPSessionKeyEncryptedData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcpg-jdk14 Show documentation
Show all versions of bcpg-jdk14 Show documentation
The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.4. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
package org.bouncycastle.openpgp;
import java.io.InputStream;
import org.bouncycastle.bcpg.AEADEncDataPacket;
import org.bouncycastle.bcpg.InputStreamPacket;
import org.bouncycastle.bcpg.SymmetricEncIntegrityPacket;
import org.bouncycastle.openpgp.operator.SessionKeyDataDecryptorFactory;
/**
* The basis of PGP encrypted data - encrypted data encrypted using a symmetric session key.
*/
public class PGPSessionKeyEncryptedData
extends PGPSymmetricKeyEncryptedData
{
PGPSessionKeyEncryptedData(InputStreamPacket encData)
{
super(encData);
}
public int getAlgorithm()
{
if (encData instanceof AEADEncDataPacket)
{
AEADEncDataPacket aeadData = (AEADEncDataPacket)encData;
return aeadData.getAlgorithm();
}
else
{
return -1; // unknown
}
}
public int getVersion()
{
if (encData instanceof AEADEncDataPacket)
{
AEADEncDataPacket aeadData = (AEADEncDataPacket)encData;
return aeadData.getVersion();
}
else if (encData instanceof SymmetricEncIntegrityPacket)
{
SymmetricEncIntegrityPacket symIntData = (SymmetricEncIntegrityPacket)encData;
return symIntData.getVersion();
}
else
{
return -1; // unmarked
}
}
public InputStream getDataStream(
SessionKeyDataDecryptorFactory dataDecryptorFactory)
throws PGPException
{
encStream = createDecryptionStream(dataDecryptorFactory, dataDecryptorFactory.getSessionKey());
return encStream;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy