CalculateECDHBasicAgreement() public static method

public static CalculateECDHBasicAgreement ( ECPublicKeyParameters publicKey, ECPrivateKeyParameters privateKey ) : byte[]
publicKey Org.BouncyCastle.Crypto.Parameters.ECPublicKeyParameters
privateKey Org.BouncyCastle.Crypto.Parameters.ECPrivateKeyParameters
return byte[]
Ejemplo n.º 1
0
        protected virtual byte[] GenerateOtherSecret(int pskLength)
        {
            if (this.mKeyExchange == KeyExchangeAlgorithm.DHE_PSK)
            {
                if (mDHAgreePrivateKey != null)
                {
                    return(TlsDHUtilities.CalculateDHBasicAgreement(mDHAgreePublicKey, mDHAgreePrivateKey));
                }

                throw new TlsFatalAlert(AlertDescription.internal_error);
            }

            if (this.mKeyExchange == KeyExchangeAlgorithm.ECDHE_PSK)
            {
                if (mECAgreePrivateKey != null)
                {
                    return(TlsEccUtilities.CalculateECDHBasicAgreement(mECAgreePublicKey, mECAgreePrivateKey));
                }

                throw new TlsFatalAlert(AlertDescription.internal_error);
            }

            if (this.mKeyExchange == KeyExchangeAlgorithm.RSA_PSK)
            {
                return(this.mPremasterSecret);
            }

            return(new byte[pskLength]);
        }
Ejemplo n.º 2
0
 protected virtual byte[] GenerateOtherSecret(int pskLength)
 {
     if (this.mKeyExchange == 14)
     {
         if (this.mDHAgreePrivateKey != null)
         {
             return(TlsDHUtilities.CalculateDHBasicAgreement(this.mDHAgreePublicKey, this.mDHAgreePrivateKey));
         }
         throw new TlsFatalAlert(80);
     }
     else if (this.mKeyExchange == 24)
     {
         if (this.mECAgreePrivateKey != null)
         {
             return(TlsEccUtilities.CalculateECDHBasicAgreement(this.mECAgreePublicKey, this.mECAgreePrivateKey));
         }
         throw new TlsFatalAlert(80);
     }
     else
     {
         if (this.mKeyExchange == 15)
         {
             return(this.mPremasterSecret);
         }
         return(new byte[pskLength]);
     }
 }
Ejemplo n.º 3
0
 public override byte[] GeneratePremasterSecret()
 {
     if (mAgreementCredentials != null)
     {
         return(mAgreementCredentials.GenerateAgreement(mECAgreePublicKey));
     }
     if (mECAgreePrivateKey != null)
     {
         return(TlsEccUtilities.CalculateECDHBasicAgreement(mECAgreePublicKey, mECAgreePrivateKey));
     }
     throw new TlsFatalAlert(80);
 }