Class CachingSecretKeyRingProtector

    • Constructor Detail

      • CachingSecretKeyRingProtector

        public CachingSecretKeyRingProtector()
      • CachingSecretKeyRingProtector

        public CachingSecretKeyRingProtector​(@Nullable
                                             SecretKeyPassphraseProvider missingPassphraseCallback)
    • Method Detail

      • addPassphrase

        public void addPassphrase​(@Nonnull
                                  java.lang.Long keyId,
                                  @Nonnull
                                  Passphrase passphrase)
        Add a passphrase to the cache.
        Parameters:
        keyId - id of the key
        passphrase - passphrase
      • addPassphrase

        public void addPassphrase​(@Nonnull
                                  org.bouncycastle.openpgp.PGPKeyRing keyRing,
                                  @Nonnull
                                  Passphrase passphrase)
        Remember the given passphrase for all keys in the given key ring.
        Parameters:
        keyRing - key ring
        passphrase - passphrase
      • addPassphrase

        public void addPassphrase​(@Nonnull
                                  org.bouncycastle.openpgp.PGPPublicKey key,
                                  @Nonnull
                                  Passphrase passphrase)
        Remember the given passphrase for the given (sub-)key.
        Parameters:
        key - key
        passphrase - passphrase
      • forgetPassphrase

        public void forgetPassphrase​(@Nonnull
                                     java.lang.Long keyId)
        Remove a passphrase from the cache. The passphrase will be cleared and then removed.
        Parameters:
        keyId - id of the key
      • forgetPassphrase

        public void forgetPassphrase​(@Nonnull
                                     org.bouncycastle.openpgp.PGPKeyRing keyRing)
        Forget the passphrase to all keys in the provided key ring.
        Parameters:
        keyRing - key ring
      • forgetPassphrase

        public void forgetPassphrase​(@Nonnull
                                     org.bouncycastle.openpgp.PGPPublicKey key)
        Forget the passphrase of the given public key.
        Parameters:
        key - key
      • getPassphraseFor

        @Nullable
        public Passphrase getPassphraseFor​(java.lang.Long keyId)
        Description copied from interface: SecretKeyPassphraseProvider
        Return a passphrase for the given key. If no record has been found, return null. Note: In case of an unprotected secret key, this method must may not return null, but a Passphrase with a content of null.
        Specified by:
        getPassphraseFor in interface SecretKeyPassphraseProvider
        Parameters:
        keyId - if of the secret key
        Returns:
        passphrase or null, if no passphrase record has been found.
      • getDecryptor

        @Nullable
        public org.bouncycastle.openpgp.operator.PBESecretKeyDecryptor getDecryptor​(@Nonnull
                                                                                    java.lang.Long keyId)
                                                                             throws org.bouncycastle.openpgp.PGPException
        Description copied from interface: SecretKeyRingProtector
        Return a decryptor for the key of id keyId. This method returns null if the key is unprotected.
        Specified by:
        getDecryptor in interface SecretKeyRingProtector
        Parameters:
        keyId - id of the key
        Returns:
        decryptor for the key
        Throws:
        org.bouncycastle.openpgp.PGPException
      • getEncryptor

        @Nullable
        public org.bouncycastle.openpgp.operator.PBESecretKeyEncryptor getEncryptor​(@Nonnull
                                                                                    java.lang.Long keyId)
                                                                             throws org.bouncycastle.openpgp.PGPException
        Description copied from interface: SecretKeyRingProtector
        Return an encryptor for the key of id keyId. This method returns null if the key is unprotected.
        Specified by:
        getEncryptor in interface SecretKeyRingProtector
        Parameters:
        keyId - id of the key
        Returns:
        encryptor for the key
        Throws:
        org.bouncycastle.openpgp.PGPException - if the encryptor cannot be created for some reason