Class Policy

java.lang.Object
org.pgpainless.policy.Policy

public final class Policy extends Object
Policy class used to configure acceptable algorithm suites etc.
  • Method Details

    • getInstance

      public static Policy getInstance()
      Return the singleton instance of PGPainless' policy.
      Returns:
      singleton instance
    • getSignatureHashAlgorithmPolicy

      public Policy.HashAlgorithmPolicy getSignatureHashAlgorithmPolicy()
      Return the hash algorithm policy for signatures.
      Returns:
      hash algorithm policy
    • setSignatureHashAlgorithmPolicy

      public void setSignatureHashAlgorithmPolicy(Policy.HashAlgorithmPolicy policy)
      Set a custom hash algorithm policy for signatures.
      Parameters:
      policy - custom policy
    • getRevocationSignatureHashAlgorithmPolicy

      public Policy.HashAlgorithmPolicy getRevocationSignatureHashAlgorithmPolicy()
      Return the hash algorithm policy for revocations. This policy is separate from getSignatureHashAlgorithmPolicy(), as PGPainless by default uses a less strict policy when it comes to acceptable algorithms.
      Returns:
      revocation signature hash algorithm policy
    • setRevocationSignatureHashAlgorithmPolicy

      public void setRevocationSignatureHashAlgorithmPolicy(Policy.HashAlgorithmPolicy policy)
      Set a custom hash algorithm policy for revocations.
      Parameters:
      policy - custom policy
    • getSymmetricKeyEncryptionAlgorithmPolicy

      public Policy.SymmetricKeyAlgorithmPolicy getSymmetricKeyEncryptionAlgorithmPolicy()
      Return the symmetric encryption algorithm policy for encryption. This policy defines which symmetric algorithms are acceptable when producing encrypted messages.
      Returns:
      symmetric algorithm policy for encryption
    • getSymmetricKeyDecryptionAlgorithmPolicy

      public Policy.SymmetricKeyAlgorithmPolicy getSymmetricKeyDecryptionAlgorithmPolicy()
      Return the symmetric encryption algorithm policy for decryption. This policy defines which symmetric algorithms are acceptable when decrypting encrypted messages.
      Returns:
      symmetric algorithm policy for decryption
    • setSymmetricKeyEncryptionAlgorithmPolicy

      public void setSymmetricKeyEncryptionAlgorithmPolicy(Policy.SymmetricKeyAlgorithmPolicy policy)
      Set a custom symmetric encryption algorithm policy for encrypting messages.
      Parameters:
      policy - custom policy
    • setSymmetricKeyDecryptionAlgorithmPolicy

      public void setSymmetricKeyDecryptionAlgorithmPolicy(Policy.SymmetricKeyAlgorithmPolicy policy)
      Set a custom symmetric encryption algorithm policy for decrypting messages.
      Parameters:
      policy - custom policy
    • getCompressionAlgorithmPolicy

      public Policy.CompressionAlgorithmPolicy getCompressionAlgorithmPolicy()
    • setCompressionAlgorithmPolicy

      public void setCompressionAlgorithmPolicy(Policy.CompressionAlgorithmPolicy policy)
    • getPublicKeyAlgorithmPolicy

      public Policy.PublicKeyAlgorithmPolicy getPublicKeyAlgorithmPolicy()
      Return the current public key algorithm policy.
      Returns:
      public key algorithm policy
    • setPublicKeyAlgorithmPolicy

      public void setPublicKeyAlgorithmPolicy(Policy.PublicKeyAlgorithmPolicy publicKeyAlgorithmPolicy)
      Set a custom public key algorithm policy.
      Parameters:
      publicKeyAlgorithmPolicy - custom policy
    • getNotationRegistry

      public NotationRegistry getNotationRegistry()
      Return the NotationRegistry of PGPainless. The notation registry is used to decide, whether a Notation is known or not. Background: Critical unknown notations render signatures invalid.
      Returns:
      Notation registry
    • getKeyGenerationAlgorithmSuite

      @Nonnull public AlgorithmSuite getKeyGenerationAlgorithmSuite()
      Return the current AlgorithmSuite which defines preferred algorithms used during key generation.
      Returns:
      current algorithm suite
    • setKeyGenerationAlgorithmSuite

      public void setKeyGenerationAlgorithmSuite(@Nonnull AlgorithmSuite algorithmSuite)
      Set a custom AlgorithmSuite which defines preferred algorithms used during key generation.
      Parameters:
      algorithmSuite - custom algorithm suite
    • getSignerUserIdValidationLevel

      public Policy.SignerUserIdValidationLevel getSignerUserIdValidationLevel()
      Return the level of validation PGPainless shall do on SignerUserID subpackets. By default, this value is Policy.SignerUserIdValidationLevel.DISABLED.
      Returns:
      the level of validation
    • setSignerUserIdValidationLevel

      public Policy setSignerUserIdValidationLevel(Policy.SignerUserIdValidationLevel signerUserIdValidationLevel)
      Specify, how SignerUserID subpackets on signatures shall be validated.
      Parameters:
      signerUserIdValidationLevel - level of verification PGPainless shall do on SignerUserID subpackets.
      Returns:
      policy instance