public class OpenPGPDefaultPolicy extends java.lang.Object implements OpenPGPPolicy
OpenPGPPolicy.OpenPGPNotationRegistry
Constructor and Description |
---|
OpenPGPDefaultPolicy() |
Modifier and Type | Method and Description |
---|---|
OpenPGPDefaultPolicy |
acceptCertificationSignatureHashAlgorithm(int hashAlgorithmId) |
OpenPGPDefaultPolicy |
acceptCertificationSignatureHashAlgorithmUntil(int hashAlgorithmId,
java.util.Date until) |
OpenPGPDefaultPolicy |
acceptDocumentSignatureHashAlgorithm(int hashAlgorithmId) |
OpenPGPDefaultPolicy |
acceptDocumentSignatureHashAlgorithmUntil(int hashAlgorithmId,
java.util.Date until) |
OpenPGPDefaultPolicy |
acceptPublicKeyAlgorithm(int publicKeyAlgorithmId) |
OpenPGPDefaultPolicy |
acceptPublicKeyAlgorithmWithMinimalStrength(int publicKeyAlgorithmId,
int minBitStrength) |
OpenPGPDefaultPolicy |
acceptSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId) |
OpenPGPDefaultPolicy |
acceptSymmetricKeyAlgorithmUntil(int symmetricKeyAlgorithmId,
java.util.Date until) |
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.
|
OpenPGPDefaultPolicy |
rejectHashAlgorithm(int hashAlgorithmId) |
OpenPGPDefaultPolicy |
rejectPublicKeyAlgorithm(int publicKeyAlgorithmId) |
OpenPGPDefaultPolicy |
rejectSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId) |
OpenPGPDefaultPolicy |
setDefaultCertificationSignatureHashAlgorithm(int hashAlgorithmId) |
OpenPGPDefaultPolicy |
setDefaultDocumentSignatureHashAlgorithm(int hashAlgorithmId) |
OpenPGPDefaultPolicy |
setDefaultSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId) |
public 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.isAcceptableSigningKey
in interface OpenPGPPolicy
key
- keypublic boolean 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.isAcceptableVerificationKey
in interface OpenPGPPolicy
key
- keypublic boolean isAcceptableEncryptionKey(PGPPublicKey key)
PGPPublicKey
is acceptable for encrypting messages.isAcceptableEncryptionKey
in interface OpenPGPPolicy
key
- keypublic boolean 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.isAcceptableDecryptionKey
in interface OpenPGPPolicy
key
- keypublic boolean isAcceptablePublicKey(PGPPublicKey key)
PGPPublicKey
is acceptable.isAcceptablePublicKey
in interface OpenPGPPolicy
key
- keypublic boolean 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.isAcceptableSignature
in interface OpenPGPPolicy
signature
- signaturepublic boolean hasAcceptableSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
was made using an acceptable signature hash algorithm.hasAcceptableSignatureHashAlgorithm
in interface OpenPGPPolicy
signature
- signaturepublic boolean hasAcceptableDocumentSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
uses an acceptable data/document signature hash algorithm.hasAcceptableDocumentSignatureHashAlgorithm
in interface OpenPGPPolicy
signature
- data / document signaturepublic boolean hasAcceptableRevocationSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
uses an acceptable revocation signature hash algorithm.hasAcceptableRevocationSignatureHashAlgorithm
in interface OpenPGPPolicy
signature
- revocation signaturepublic boolean hasAcceptableCertificationSignatureHashAlgorithm(PGPSignature signature)
PGPSignature
uses an acceptable certification signature hash algorithm.hasAcceptableCertificationSignatureHashAlgorithm
in interface OpenPGPPolicy
signature
- certification signaturepublic boolean hasNoCriticalUnknownNotations(PGPSignature signature)
hasNoCriticalUnknownNotations
in interface OpenPGPPolicy
signature
- signaturepublic boolean hasNoCriticalUnknownSubpackets(PGPSignature signature)
hasNoCriticalUnknownSubpackets
in interface OpenPGPPolicy
signature
- signaturepublic boolean isKnownSignatureSubpacket(int signatureSubpacketTag)
SignatureSubpacketInputStream
.isKnownSignatureSubpacket
in interface OpenPGPPolicy
signatureSubpacketTag
- signature subpacket IDpublic OpenPGPDefaultPolicy rejectHashAlgorithm(int hashAlgorithmId)
public OpenPGPDefaultPolicy acceptCertificationSignatureHashAlgorithm(int hashAlgorithmId)
public OpenPGPDefaultPolicy acceptCertificationSignatureHashAlgorithmUntil(int hashAlgorithmId, java.util.Date until)
public OpenPGPDefaultPolicy acceptDocumentSignatureHashAlgorithm(int hashAlgorithmId)
public OpenPGPDefaultPolicy acceptDocumentSignatureHashAlgorithmUntil(int hashAlgorithmId, java.util.Date until)
public OpenPGPDefaultPolicy rejectSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId)
public OpenPGPDefaultPolicy acceptSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId)
public OpenPGPDefaultPolicy acceptSymmetricKeyAlgorithmUntil(int symmetricKeyAlgorithmId, java.util.Date until)
public OpenPGPDefaultPolicy rejectPublicKeyAlgorithm(int publicKeyAlgorithmId)
public OpenPGPDefaultPolicy acceptPublicKeyAlgorithm(int publicKeyAlgorithmId)
public OpenPGPDefaultPolicy acceptPublicKeyAlgorithmWithMinimalStrength(int publicKeyAlgorithmId, int minBitStrength)
public boolean isAcceptableDocumentSignatureHashAlgorithm(int hashAlgorithmId, java.util.Date signatureCreationTime)
OpenPGPPolicy
isAcceptableDocumentSignatureHashAlgorithm
in interface OpenPGPPolicy
hashAlgorithmId
- hash algorithm IDsignatureCreationTime
- optional signature creation timepublic boolean isAcceptableRevocationSignatureHashAlgorithm(int hashAlgorithmId, java.util.Date signatureCreationTime)
OpenPGPPolicy
isAcceptableRevocationSignatureHashAlgorithm
in interface OpenPGPPolicy
hashAlgorithmId
- hash algorithm IDsignatureCreationTime
- optional signature creation timepublic boolean isAcceptableCertificationSignatureHashAlgorithm(int hashAlgorithmId, java.util.Date signatureCreationTime)
OpenPGPPolicy
isAcceptableCertificationSignatureHashAlgorithm
in interface OpenPGPPolicy
hashAlgorithmId
- hash algorithm IDsignatureCreationTime
- optional signature creation timepublic int getDefaultCertificationSignatureHashAlgorithm()
OpenPGPPolicy
getDefaultCertificationSignatureHashAlgorithm
in interface OpenPGPPolicy
public OpenPGPDefaultPolicy setDefaultCertificationSignatureHashAlgorithm(int hashAlgorithmId)
public int getDefaultDocumentSignatureHashAlgorithm()
OpenPGPPolicy
getDefaultDocumentSignatureHashAlgorithm
in interface OpenPGPPolicy
public OpenPGPDefaultPolicy setDefaultDocumentSignatureHashAlgorithm(int hashAlgorithmId)
public boolean isAcceptableSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId)
OpenPGPPolicy
isAcceptableSymmetricKeyAlgorithm
in interface OpenPGPPolicy
symmetricKeyAlgorithmId
- symmetric-key algorithmpublic int getDefaultSymmetricKeyAlgorithm()
OpenPGPPolicy
getDefaultSymmetricKeyAlgorithm
in interface OpenPGPPolicy
public OpenPGPDefaultPolicy setDefaultSymmetricKeyAlgorithm(int symmetricKeyAlgorithmId)
public boolean isAcceptablePublicKeyStrength(int publicKeyAlgorithmId, int bitStrength)
OpenPGPPolicy
isAcceptablePublicKeyStrength
in interface OpenPGPPolicy
publicKeyAlgorithmId
- ID of a public key algorithmbitStrength
- key bit strengthpublic OpenPGPPolicy.OpenPGPNotationRegistry getNotationRegistry()
OpenPGPPolicy
OpenPGPPolicy.OpenPGPNotationRegistry
containing known notation names.getNotationRegistry
in interface OpenPGPPolicy