Class OpenPgpFingerprint

java.lang.Object
org.pgpainless.key.OpenPgpFingerprint
All Implemented Interfaces:
CharSequence, Comparable<OpenPgpFingerprint>
Direct Known Subclasses:
_64DigitFingerprint, OpenPgpV4Fingerprint

public abstract class OpenPgpFingerprint extends Object implements CharSequence, Comparable<OpenPgpFingerprint>
Abstract super class of different version OpenPGP fingerprints.
  • Field Details

    • utf8

      protected static final Charset utf8
    • fingerprint

      protected final String fingerprint
  • Constructor Details

    • OpenPgpFingerprint

      public OpenPgpFingerprint(String fingerprint)
    • OpenPgpFingerprint

      public OpenPgpFingerprint(@Nonnull byte[] bytes)
    • OpenPgpFingerprint

      public OpenPgpFingerprint(org.bouncycastle.openpgp.PGPPublicKey key)
    • OpenPgpFingerprint

      public OpenPgpFingerprint(@Nonnull org.bouncycastle.openpgp.PGPPublicKeyRing ring)
    • OpenPgpFingerprint

      public OpenPgpFingerprint(@Nonnull org.bouncycastle.openpgp.PGPSecretKeyRing ring)
    • OpenPgpFingerprint

      public OpenPgpFingerprint(@Nonnull org.bouncycastle.openpgp.PGPKeyRing ring)
  • Method Details

    • of

      public static OpenPgpFingerprint of(org.bouncycastle.openpgp.PGPSecretKey key)
      Return the fingerprint of the given key. This method automatically matches key versions to fingerprint implementations.
      Parameters:
      key - key
      Returns:
      fingerprint
    • of

      public static OpenPgpFingerprint of(org.bouncycastle.openpgp.PGPPublicKey key)
      Return the fingerprint of the given key. This method automatically matches key versions to fingerprint implementations.
      Parameters:
      key - key
      Returns:
      fingerprint
    • of

      public static OpenPgpFingerprint of(org.bouncycastle.openpgp.PGPKeyRing ring)
      Return the fingerprint of the primary key of the given key ring. This method automatically matches key versions to fingerprint implementations.
      Parameters:
      ring - key ring
      Returns:
      fingerprint
    • parse

      @Deprecated public static OpenPgpFingerprint parse(String fingerprint)
      Deprecated.
      Use the constructor methods of the versioned fingerprint subclasses instead.
      Try to parse an OpenPgpFingerprint from the given fingerprint string. If the trimmed fingerprint without whitespace is 64 characters long, it is either a v5 or v6 fingerprint. In this case, we return a _64DigitFingerprint. Since this is ambiguous, it is generally recommended to know the version of the key beforehand.
      Parameters:
      fingerprint - fingerprint
      Returns:
      parsed fingerprint
    • parseFromBinary

      @Deprecated public static OpenPgpFingerprint parseFromBinary(byte[] binaryFingerprint)
      Deprecated.
      use the parse() methods of the versioned fingerprint subclasses instead.
      Parse a binary OpenPGP fingerprint into an OpenPgpFingerprint object.
      Parameters:
      binaryFingerprint - binary representation of the fingerprint
      Returns:
      parsed fingerprint
    • getVersion

      public abstract int getVersion()
      Return the version of the fingerprint.
      Returns:
      version
    • isValid

      protected abstract boolean isValid(@Nonnull String fp)
      Check, whether the fingerprint consists of 40 valid hexadecimal characters.
      Parameters:
      fp - fingerprint to check.
      Returns:
      true if fingerprint is valid.
    • getKeyId

      public abstract long getKeyId()
      Return the key id of the OpenPGP public key this OpenPgpFingerprint belongs to. This method can be implemented for V4 and V5 fingerprints. V3 key-IDs cannot be derived from the fingerprint, but we don't care, since V3 is deprecated.
      Returns:
      key id
      See Also:
    • length

      public int length()
      Specified by:
      length in interface CharSequence
    • charAt

      public char charAt(int i)
      Specified by:
      charAt in interface CharSequence
    • subSequence

      public CharSequence subSequence(int i, int i1)
      Specified by:
      subSequence in interface CharSequence
    • toString

      @Nonnull public String toString()
      Specified by:
      toString in interface CharSequence
      Overrides:
      toString in class Object
    • prettyPrint

      public abstract String prettyPrint()
      Return a pretty printed representation of the fingerprint.
      Returns:
      pretty printed fingerprint