Class KeyAgreementSpi

  • Direct Known Subclasses:
    KeyAgreementSpi.DHwithRFC2631KDF

    public class KeyAgreementSpi
    extends BaseAgreementSpi
    Diffie-Hellman key agreement. There's actually a better way of doing this if you are using long term public keys, see the light-weight version for details.
    • Constructor Detail

      • KeyAgreementSpi

        public KeyAgreementSpi()
      • KeyAgreementSpi

        public KeyAgreementSpi​(java.lang.String kaAlgorithm,
                               DerivationFunction kdf)
    • Method Detail

      • bigIntToBytes

        protected byte[] bigIntToBytes​(java.math.BigInteger r)
      • engineDoPhase

        protected java.security.Key engineDoPhase​(java.security.Key key,
                                                  boolean lastPhase)
                                           throws java.security.InvalidKeyException,
                                                  java.lang.IllegalStateException
        Specified by:
        engineDoPhase in class javax.crypto.KeyAgreementSpi
        Throws:
        java.security.InvalidKeyException
        java.lang.IllegalStateException
      • engineGenerateSecret

        protected byte[] engineGenerateSecret()
                                       throws java.lang.IllegalStateException
        Overrides:
        engineGenerateSecret in class BaseAgreementSpi
        Throws:
        java.lang.IllegalStateException
      • engineGenerateSecret

        protected int engineGenerateSecret​(byte[] sharedSecret,
                                           int offset)
                                    throws java.lang.IllegalStateException,
                                           javax.crypto.ShortBufferException
        Overrides:
        engineGenerateSecret in class BaseAgreementSpi
        Throws:
        java.lang.IllegalStateException
        javax.crypto.ShortBufferException
      • engineGenerateSecret

        protected javax.crypto.SecretKey engineGenerateSecret​(java.lang.String algorithm)
                                                       throws java.security.NoSuchAlgorithmException
        Overrides:
        engineGenerateSecret in class BaseAgreementSpi
        Throws:
        java.security.NoSuchAlgorithmException
      • engineInit

        protected void engineInit​(java.security.Key key,
                                  java.security.spec.AlgorithmParameterSpec params,
                                  java.security.SecureRandom random)
                           throws java.security.InvalidKeyException,
                                  java.security.InvalidAlgorithmParameterException
        Specified by:
        engineInit in class javax.crypto.KeyAgreementSpi
        Throws:
        java.security.InvalidKeyException
        java.security.InvalidAlgorithmParameterException
      • engineInit

        protected void engineInit​(java.security.Key key,
                                  java.security.SecureRandom random)
                           throws java.security.InvalidKeyException
        Specified by:
        engineInit in class javax.crypto.KeyAgreementSpi
        Throws:
        java.security.InvalidKeyException