Class BcYubikeyPublicKeyDataDecryptorFactory

java.lang.Object
org.bouncycastle.openpgp.operator.AbstractPublicKeyDataDecryptorFactory
org.bouncycastle.openpgp.operator.bc.BcPublicKeyDataDecryptorFactory
org.bouncycastle.openpgp.api.operator.bc.BcExternalPublicKeyDataDecryptorFactory
org.bouncycastle.openpgp.smartcard.yubikey.operator.bc.BcYubikeyPublicKeyDataDecryptorFactory
All Implemented Interfaces:
org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory, org.bouncycastle.openpgp.operator.PublicKeyDataDecryptorFactory

public class BcYubikeyPublicKeyDataDecryptorFactory extends org.bouncycastle.openpgp.api.operator.bc.BcExternalPublicKeyDataDecryptorFactory
BcExternalPublicKeyDataDecryptorFactory routing the private-key operation of OpenPGP session-key recovery to a YubiKey's OpenPGP applet.

The card performs the RSA decryption or the ECDH / X25519 agreement; all packet parsing, KDF and key unwrap work stays in BcPublicKeyDataDecryptorFactory. ElGamal and X448 are not supported by the applet and are rejected.

  • Constructor Summary

    Constructors
    Constructor
    Description
    BcYubikeyPublicKeyDataDecryptorFactory(org.bouncycastle.openpgp.api.OpenPGPKey.OpenPGPSecretKey secretKey, YubikeyOpenPGPSmartCard yubikey, org.bouncycastle.openpgp.api.KeyPassphraseProvider userPinProvider)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.bouncycastle.openpgp.operator.bc.BcPublicKeyCryptoCallback
     

    Methods inherited from class org.bouncycastle.openpgp.api.operator.bc.BcExternalPublicKeyDataDecryptorFactory

    getCryptoCallback, getSecretKey

    Methods inherited from class org.bouncycastle.openpgp.operator.bc.BcPublicKeyDataDecryptorFactory

    createDataDecryptor, createDataDecryptor, createDataDecryptor, recoverSessionData, unwrapSessionData

    Methods inherited from class org.bouncycastle.openpgp.operator.AbstractPublicKeyDataDecryptorFactory

    checkRange, containsSKAlg, parseECDHEncSessionKey, parseXDHEncSessionKey, prependSKAlgorithmToSessionData, recoverSessionData, recoverSessionData

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BcYubikeyPublicKeyDataDecryptorFactory

      public BcYubikeyPublicKeyDataDecryptorFactory(org.bouncycastle.openpgp.api.OpenPGPKey.OpenPGPSecretKey secretKey, YubikeyOpenPGPSmartCard yubikey, org.bouncycastle.openpgp.api.KeyPassphraseProvider userPinProvider) throws org.bouncycastle.openpgp.PGPException
      Throws:
      org.bouncycastle.openpgp.PGPException
  • Method Details

    • getExternalKeyCryptoCallback

      public org.bouncycastle.openpgp.operator.bc.BcPublicKeyCryptoCallback getExternalKeyCryptoCallback()
      Specified by:
      getExternalKeyCryptoCallback in class org.bouncycastle.openpgp.api.operator.bc.BcExternalPublicKeyDataDecryptorFactory