#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
#pragma warning disable
using System;
using Best.HTTP.SecureProtocol.Org.BouncyCastle.Math;
namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
{
    /// 
    /// The payload sent/received during the optional third round of a J-PAKE exchange,
    /// which is for explicit key confirmation.
    ///
    /// Each JPAKEParticipant creates and sends an instance
    /// of this payload to the other JPAKEParticipant.
    /// The payload to send should be created via
    /// JPAKEParticipant#createRound3PayloadToSend(BigInteger)
    ///
    /// Eeach JPAKEParticipant must also validate the payload
    /// received from the other JPAKEParticipant.
    /// The received payload should be validated via
    /// JPAKEParticipant#validateRound3PayloadReceived(JPakeRound3Payload, BigInteger)
    /// 
    public class JPakeRound3Payload
    {
        /// 
        /// The id of the {@link JPAKEParticipant} who created/sent this payload.
        /// 
        private readonly string participantId;
        /// 
        /// The value of MacTag, as computed by round 3.
        /// 
        /// See JPAKEUtil#calculateMacTag(string, string, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, org.bouncycastle.crypto.Digest)
        /// 
        private readonly BigInteger macTag;
        public JPakeRound3Payload(string participantId, BigInteger magTag)
        {
            this.participantId = participantId;
            this.macTag = magTag;
        }
        public virtual string ParticipantId
        {
            get { return participantId; }
        }
        public virtual BigInteger MacTag
        {
            get { return macTag; }
        }
    }
}
#pragma warning restore
#endif