|
Bouncy Castle Cryptography Library 1.84 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.bouncycastle.openpgp.operator.PublicKeyKeyEncryptionMethodGenerator
Abstract generator class for encryption methods that produce PKESK (public-key encrypted session key) packets. PKESKs are used when encrypting a message for a recipients public key. The purpose of this class is to allow subclasses to decide, which implementation to use.
| Field Summary | |
static java.lang.String |
SESSION_KEY_OBFUSCATION_PROPERTY
|
protected boolean |
sessionKeyObfuscation
|
protected boolean |
useWildcardRecipient
|
static long |
WILDCARD
|
static byte[] |
WILDCARD_FINGERPRINT
|
static long |
WILDCARD_KEYID
|
| Constructor Summary | |
protected |
PublicKeyKeyEncryptionMethodGenerator(PGPPublicKey pubKey)
|
| Method Summary | |
protected byte[] |
createSessionInfo(byte algorithm,
byte[] keyBytes)
|
byte[][] |
encodeEncryptedSessionInfo(byte[] encryptedSessionInfo)
|
protected abstract byte[] |
encryptSessionInfo(PGPPublicKey pubKey,
byte[] sessionKey,
byte symAlgId,
boolean isV3)
Encrypt a session key using the recipients public key. |
ContainedPacket |
generate(PGPDataEncryptorBuilder dataEncryptorBuilder,
byte[] sessionKey)
Generate a Public-Key Encrypted Session-Key (PKESK) packet of version 3. |
protected static byte[] |
getSessionInfo(byte[] ephPubEncoding,
byte optSymKeyAlgorithm,
byte[] wrappedSessionKey)
|
PublicKeyKeyEncryptionMethodGenerator |
setSessionKeyObfuscation(boolean enabled)
Controls whether to obfuscate the size of ECDH session keys using extra padding where necessary. |
PublicKeyKeyEncryptionMethodGenerator |
setUseWildcardKeyID(boolean enabled)
Deprecated. use setUseWildcardRecipient(boolean) instead
TODO: Remove in a future release |
PublicKeyKeyEncryptionMethodGenerator |
setUseWildcardRecipient(boolean enabled)
Controls whether the recipient key ID/fingerprint is hidden (replaced by a wildcard value). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String SESSION_KEY_OBFUSCATION_PROPERTY
public static final long WILDCARD_KEYID
public static final long WILDCARD
public static final byte[] WILDCARD_FINGERPRINT
protected boolean sessionKeyObfuscation
protected boolean useWildcardRecipient
| Constructor Detail |
protected PublicKeyKeyEncryptionMethodGenerator(PGPPublicKey pubKey)
| Method Detail |
public PublicKeyKeyEncryptionMethodGenerator setSessionKeyObfuscation(boolean enabled)
The default behaviour can be configured using the system property "org.bouncycastle.openpgp.session_key_obfuscation", or else it will default to enabled.
public PublicKeyKeyEncryptionMethodGenerator setUseWildcardKeyID(boolean enabled)
setUseWildcardRecipient(boolean) instead
TODO: Remove in a future release
enabled - boolean
public PublicKeyKeyEncryptionMethodGenerator setUseWildcardRecipient(boolean enabled)
enabled - boolean
public byte[][] encodeEncryptedSessionInfo(byte[] encryptedSessionInfo)
throws PGPException
PGPException
public ContainedPacket generate(PGPDataEncryptorBuilder dataEncryptorBuilder,
byte[] sessionKey)
throws PGPException
Features.FEATURE_SEIPD_V2
or as a fallback.
Generate a Public-Key Encrypted Session-Key (PKESK) packet of version 6.
PKESKv6 packets are used with Symmetrically-Encrypted Integrity-Protected Data (SEIPD) packets
of version 2 only.
PKESKv6 packets are used with keys that support Features.FEATURE_SEIPD_V2.
generate in interface PGPKeyEncryptionMethodGeneratorsessionKey - session-key algorithm id + session-key + checksum
PGPException - if the PKESK packet cannot be generated
protected byte[] createSessionInfo(byte algorithm,
byte[] keyBytes)
protected abstract byte[] encryptSessionInfo(PGPPublicKey pubKey,
byte[] sessionKey,
byte symAlgId,
boolean isV3)
throws PGPException
pubKey - recipients public keysessionKey - session-keysymAlgId - for v3: session key algorithm ID; for v6: 0
PGPException
protected static byte[] getSessionInfo(byte[] ephPubEncoding,
byte optSymKeyAlgorithm,
byte[] wrappedSessionKey)
|
Bouncy Castle Cryptography Library 1.84 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||