Esempio n. 1
0
        /// <summary>
        /// Sign data according SecBuffers.
        /// </summary>
        /// <param name="securityBuffers">
        /// the security buffer array to sign.<para/>
        /// it can contain none or some data security buffer, that are combine to one message to sign.<para/>
        /// it must contain token security buffer, in which the signature will be stored.
        /// </param>
        /// <exception cref="ArgumentNullException">the securityBuffers must not be null</exception>
        /// <exception cref="ArgumentException">securityBuffers must contain signature to store signature</exception>
        public override void Sign(params SecurityBuffer[] securityBuffers)
        {
            NlmpUtility.UpdateSealingKeyForConnectionlessMode(
                this.client.Context.ClientConfigFlags, this.client.Context.ClientHandle,
                this.client.Context.ClientSealingKey, this.clientSequenceNumber);

            NlmpUtility.GssApiSign(
                this.client.Config.Version,
                this.Context.ClientConfigFlags,
                this.client.Context.ClientHandle,
                this.client.Context.ClientSigningKey,
                ref this.clientSequenceNumber,
                securityBuffers);
        }
Esempio n. 2
0
        /// <summary>
        /// Sign data according SecBuffers.
        /// </summary>
        /// <param name="securityBuffers">
        /// the security buffer array to sign.<para/>
        /// it can contain none or some data security buffer, that are combine to one message to sign.<para/>
        /// it must contain token security buffer, in which the signature will be stored.
        /// </param>
        /// <exception cref="ArgumentNullException">the securityBuffers must not be null</exception>
        /// <exception cref="ArgumentException">securityBuffers must contain signature to store signature</exception>
        public override void Sign(params SecurityBuffer[] securityBuffers)
        {
            NlmpUtility.UpdateSealingKeyForConnectionlessMode(
                this.nlmpServer.Context.NegFlg, this.nlmpServer.Context.ServerHandle,
                this.nlmpServer.Context.ServerSealingKey, this.serverSequenceNumber);

            NlmpUtility.GssApiSign(
                this.version,
                this.nlmpServer.Context.NegFlg,
                this.nlmpServer.Context.ServerHandle,
                this.nlmpServer.Context.ServerSigningKey,
                ref this.serverSequenceNumber,
                securityBuffers);
        }