Esempio n. 1
0
        /// <summary>
        /// This takes the given SecBuffers, which are used by SSPI method DecryptMessage.
        /// </summary>
        /// <param name="securityBuffers">
        /// the security buffer array to decrypt.<para/>
        /// it can contain none or some data security buffer, that are combine to one message to decrypt.<para/>
        /// it can contain none or some token security buffer, in which the signature is stored.
        /// </param>
        /// <returns>the encrypt result, if verify, it's the verify result.</returns>
        /// <exception cref="ArgumentNullException">the securityBuffers must not be null</exception>
        public override bool Decrypt(params SecurityBuffer[] securityBuffers)
        {
            NlmpUtility.UpdateSealingKeyForConnectionlessMode(
                this.client.Context.ClientConfigFlags, this.client.Context.ServerHandle,
                this.client.Context.ServerSealingKey, this.serverSequenceNumber);

            return(NlmpUtility.GssApiDecrypt(
                       this.client.Config.Version,
                       this.Context.ClientConfigFlags,
                       this.client.Context.ServerHandle,
                       this.client.Context.ServerSigningKey,
                       ref this.serverSequenceNumber,
                       securityBuffers));
        }
Esempio n. 2
0
        /// <summary>
        /// This takes the given SecBuffers, which are used by SSPI method DecryptMessage.
        /// </summary>
        /// <param name="securityBuffers">
        /// the security buffer array to decrypt.<para/>
        /// it can contain none or some data security buffer, that are combine to one message to decrypt.<para/>
        /// it can contain none or some token security buffer, in which the signature is stored.
        /// </param>
        /// <returns>the encrypt result, if verify, it's the verify result.</returns>
        /// <exception cref="ArgumentNullException">the securityBuffers must not be null</exception>
        public override bool Decrypt(params SecurityBuffer[] securityBuffers)
        {
            NlmpUtility.UpdateSealingKeyForConnectionlessMode(
                this.nlmpServer.Context.NegFlg, this.nlmpServer.Context.ClientHandle,
                this.nlmpServer.Context.ClientSealingKey, this.clientSequenceNumber);

            return(NlmpUtility.GssApiDecrypt(
                       this.version,
                       this.nlmpServer.Context.NegFlg,
                       this.nlmpServer.Context.ClientHandle,
                       this.nlmpServer.Context.ClientSigningKey,
                       ref this.clientSequenceNumber,
                       securityBuffers));
        }