public interface OpenPGPPolicy
Modifier and Type | Interface and Description |
---|---|
static class |
OpenPGPPolicy.OpenPGPNotationRegistry
The
OpenPGPPolicy.OpenPGPNotationRegistry can be used to register known notations, such that signatures containing
notation instances of the same name, which are marked as critical do not invalidate the signature. |
Modifier and Type | Method and Description |
---|---|
int |
getDefaultCertificationSignatureHashAlgorithm()
Return the default certification signature hash algorithm ID.
|
int |
getDefaultDocumentSignatureHashAlgorithm()
Return the default document signature hash algorithm ID.
|
int |
getDefaultSymmetricKeyAlgorithm()
Return the default symmetric-key algorithm, which is used as a fallback if symmetric encryption algorithm
negotiation fails.
|
OpenPGPPolicy.OpenPGPNotationRegistry |
getNotationRegistry()
Return the policies
OpenPGPPolicy.OpenPGPNotationRegistry containing known notation names. |
boolean |
hasAcceptableCertificationSignatureHashAlgorithm(PGPSignature signature)
Return true, if the
PGPSignature uses an acceptable certification signature hash algorithm. |
boolean |
hasAcceptableDocumentSignatureHashAlgorithm(PGPSignature signature)
Return true, if the
PGPSignature uses an acceptable data/document signature hash algorithm. |
boolean |
hasAcceptableRevocationSignatureHashAlgorithm(PGPSignature signature)
Return true, if the
PGPSignature uses an acceptable revocation signature hash algorithm. |
boolean |
hasAcceptableSignatureHashAlgorithm(PGPSignature signature)
Return true, if the given
PGPSignature was made using an acceptable signature hash algorithm. |
boolean |
hasNoCriticalUnknownNotations(PGPSignature signature)
Return true, if the hashed subpacket area of the signature does NOT contain unknown critical notations.
|
boolean |
hasNoCriticalUnknownSubpackets(PGPSignature signature)
Return true, if the hashed subpacket area of the signature does NOT contain unknown critical subpackets.
|
boolean |
isAcceptableCertificationSignatureHashAlgorithm(int hashAlgorithmId,
java.util.Date signatureCreationTime)
Return true, if the given hash algorithm is - at signature creation time - an acceptable certification signature
hash algorithm.
|
boolean |
isAcceptableDecryptionKey(PGPPublicKey key)
Return true, if the given
PGPPublicKey is acceptable for decrypting messages. |
boolean |
isAcceptableDocumentSignatureHashAlgorithm(int hashAlgorithmId,
java.util.Date signatureCreationTime)
Return true, if the given hash algorithm is - at signature creation time - an acceptable document signature
hash algorithm.
|
boolean |
isAcceptableEncryptionKey(PGPPublicKey key)
Return true, if the given
PGPPublicKey is acceptable for encrypting messages. |
boolean |
isAcceptablePublicKey(PGPPublicKey key)
Return true, if the given
PGPPublicKey is acceptable. |
boolean |
isAcceptablePublicKeyStrength(int publicKeyAlgorithmId,
int bitStrength)
Return true, if the given bitStrength is acceptable for the given public key algorithm ID.
|
boolean |
isAcceptableRevocationSignatureHashAlgorithm(int hashAlgorithmId,
java.util.Date signatureCreationTime)
Return true, if the given hash algorithm is - at signature creation time - an acceptable revocation signature
hash algorithm.
|
boolean |
isAcceptableSignature(PGPSignature signature)
Return true, if the given
PGPSignature is acceptable (uses acceptable hash algorithm,
does not contain unknown critical notations or subpackets). |
boolean |
isAcceptableSigningKey(PGPPublicKey key)
Return true, if the given
PGPPublicKey is an acceptable signing key. |
boolean |
isAcceptableSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId)
Return true, if the given symmetric-key algorithm is acceptable.
|
boolean |
isAcceptableVerificationKey(PGPPublicKey key)
Return true, if the given
PGPPublicKey is an acceptable signature verification key. |
boolean |
isKnownSignatureSubpacket(int signatureSubpacketTag)
Return true, if the given signature subpacket ID is known by the implementation.
|
boolean isAcceptableSigningKey(PGPPublicKey key)
PGPPublicKey
is an acceptable signing key.
Note: Although signing requires a secret key, we perform checks on the public part for consistency.key
- keyboolean isAcceptableVerificationKey(PGPPublicKey key)
PGPPublicKey
is an acceptable signature verification key.
Note: The asymmetry between this and isAcceptableSigningKey(PGPPublicKey)
is useful
to prevent creation of signatures using a legacy key, while still allowing verification of
signatures made using the same key.key
- keyboolean isAcceptableEncryptionKey(PGPPublicKey key)
PGPPublicKey
is acceptable for encrypting messages.key
- keyboolean isAcceptableDecryptionKey(PGPPublicKey key)
PGPPublicKey
is acceptable for decrypting messages.
Note: Although decryption requires a secret key, we perform checks on the public part for consistency.
The asymmetry between this and isAcceptableEncryptionKey(PGPPublicKey)
is useful
to prevent creation of new encrypted messages using a legacy key, while still allowing decryption
of existing messages using the same key.key
- keyboolean isAcceptablePublicKey(PGPPublicKey key)
PGPPublicKey
is acceptable.key
- keyboolean isAcceptableSignature(PGPSignature signature)
PGPSignature
is acceptable (uses acceptable hash algorithm,
does not contain unknown critical notations or subpackets).
Note: A signature being acceptable does NOT mean that it is correct or valid.signature
- signatureboolean hasAcceptableSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
was made using an acceptable signature hash algorithm.signature
- signatureboolean hasAcceptableDocumentSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
uses an acceptable data/document signature hash algorithm.signature
- data / document signatureboolean hasAcceptableRevocationSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
uses an acceptable revocation signature hash algorithm.signature
- revocation signatureboolean hasAcceptableCertificationSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
uses an acceptable certification signature hash algorithm.signature
- certification signatureboolean hasNoCriticalUnknownNotations(PGPSignature signature)
signature
- signatureboolean hasNoCriticalUnknownSubpackets(PGPSignature signature)
signature
- signatureboolean isKnownSignatureSubpacket(int signatureSubpacketTag)
SignatureSubpacketInputStream
.signatureSubpacketTag
- signature subpacket IDboolean isAcceptableDocumentSignatureHashAlgorithm(int hashAlgorithmId, java.util.Date signatureCreationTime)
hashAlgorithmId
- hash algorithm IDsignatureCreationTime
- optional signature creation timeboolean isAcceptableRevocationSignatureHashAlgorithm(int hashAlgorithmId, java.util.Date signatureCreationTime)
hashAlgorithmId
- hash algorithm IDsignatureCreationTime
- optional signature creation timeboolean isAcceptableCertificationSignatureHashAlgorithm(int hashAlgorithmId, java.util.Date signatureCreationTime)
hashAlgorithmId
- hash algorithm IDsignatureCreationTime
- optional signature creation timeint getDefaultCertificationSignatureHashAlgorithm()
int getDefaultDocumentSignatureHashAlgorithm()
boolean isAcceptableSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId)
symmetricKeyAlgorithmId
- symmetric-key algorithmint getDefaultSymmetricKeyAlgorithm()
boolean isAcceptablePublicKeyStrength(int publicKeyAlgorithmId, int bitStrength)
publicKeyAlgorithmId
- ID of a public key algorithmbitStrength
- key bit strengthOpenPGPPolicy.OpenPGPNotationRegistry getNotationRegistry()
OpenPGPPolicy.OpenPGPNotationRegistry
containing known notation names.