Enum Class PublicKeyAlgorithm

java.lang.Object
java.lang.Enum<PublicKeyAlgorithm>
org.pgpainless.algorithm.PublicKeyAlgorithm
All Implemented Interfaces:
Serializable, Comparable<PublicKeyAlgorithm>, Constable

public enum PublicKeyAlgorithm extends Enum<PublicKeyAlgorithm>
Enumeration of public key algorithms as defined in RFC4880.
See Also:
  • Enum Constant Details

    • RSA_GENERAL

      public static final PublicKeyAlgorithm RSA_GENERAL
      RSA capable of encryption and signatures.
    • RSA_ENCRYPT

      @Deprecated public static final PublicKeyAlgorithm RSA_ENCRYPT
      Deprecated.
      see https://tools.ietf.org/html/rfc4880#section-13.5
      RSA with usage encryption.
    • RSA_SIGN

      @Deprecated public static final PublicKeyAlgorithm RSA_SIGN
      Deprecated.
      see https://tools.ietf.org/html/rfc4880#section-13.5
      RSA with usage of creating signatures.
    • ELGAMAL_ENCRYPT

      public static final PublicKeyAlgorithm ELGAMAL_ENCRYPT
      ElGamal with usage encryption.
    • DSA

      public static final PublicKeyAlgorithm DSA
      Digital Signature Algorithm.
    • EC

      @Deprecated public static final PublicKeyAlgorithm EC
      Deprecated.
      use ECDH instead.
      EC is deprecated.
    • ECDH

      public static final PublicKeyAlgorithm ECDH
      Elliptic Curve Diffie-Hellman.
    • ECDSA

      public static final PublicKeyAlgorithm ECDSA
      Elliptic Curve Digital Signature Algorithm.
    • ELGAMAL_GENERAL

      @Deprecated public static final PublicKeyAlgorithm ELGAMAL_GENERAL
      Deprecated.
      see https://tools.ietf.org/html/rfc4880#section-13.8
      ElGamal General.
    • DIFFIE_HELLMAN

      public static final PublicKeyAlgorithm DIFFIE_HELLMAN
      Diffie-Hellman key exchange algorithm.
    • EDDSA

      public static final PublicKeyAlgorithm EDDSA
      Digital Signature Algorithm based on twisted Edwards Curves.
  • Method Details

    • values

      public static PublicKeyAlgorithm[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static PublicKeyAlgorithm valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • fromId

      @Nullable public static PublicKeyAlgorithm fromId(int id)
      Return the PublicKeyAlgorithm that corresponds to the provided algorithm id. If an invalid id is provided, null is returned.
      Parameters:
      id - numeric algorithm id
      Returns:
      algorithm or null
    • requireFromId

      @Nonnull public static PublicKeyAlgorithm requireFromId(int id)
      Return the PublicKeyAlgorithm that corresponds to the provided algorithm id. If an invalid id is provided, throw a NoSuchElementException.
      Parameters:
      id - numeric algorithm id
      Returns:
      algorithm
      Throws:
      NoSuchElementException - in case of an unmatched algorithm id
    • getAlgorithmId

      public int getAlgorithmId()
      Return the numeric identifier of the public key algorithm.
      Returns:
      id
    • isSigningCapable

      public boolean isSigningCapable()
      Return true if this public key algorithm is able to create signatures.
      Returns:
      true if the algorithm can sign
    • isEncryptionCapable

      public boolean isEncryptionCapable()
      Return true if this public key algorithm can be used as an encryption algorithm.
      Returns:
      true if the algorithm can encrypt