Beispiel #1
0
        /// <summary>
        /// Encrypts Message. User decides what SecBuffers are used.
        /// </summary>
        /// <param name="securityBuffers">
        /// the security buffer array to verify.<para/>
        /// it can contain none or some data security buffer, that are combine to one message to verify.<para/>
        /// it must contain token security buffer, in which the signature is stored.
        /// </param>
        /// <exception cref="ArgumentNullException">the securityBuffers must not be null</exception>
        /// <exception cref="ArgumentException">securityBuffers must contain signature to verify</exception>
        public override bool Verify(params SecurityBuffer[] securityBuffers)
        {
            NlmpUtility.UpdateSealingKeyForConnectionlessMode(
                this.client.Context.ClientConfigFlags, this.client.Context.ServerHandle,
                this.client.Context.ServerSealingKey, this.serverSequenceNumber);

            return(NlmpUtility.GssApiVerify(
                       this.client.Config.Version,
                       this.Context.ClientConfigFlags,
                       this.client.Context.ServerHandle,
                       this.client.Context.ServerSigningKey,
                       ref this.serverSequenceNumber,
                       securityBuffers));
        }
Beispiel #2
0
        /// <summary>
        /// Encrypts Message. User decides what SecBuffers are used.
        /// </summary>
        /// <param name="securityBuffers">
        /// the security buffer array to verify.<para/>
        /// it can contain none or some data security buffer, that are combine to one message to verify.<para/>
        /// it must contain token security buffer, in which the signature is stored.
        /// </param>
        /// <exception cref="ArgumentNullException">the securityBuffers must not be null</exception>
        /// <exception cref="ArgumentException">securityBuffers must contain signature to verify</exception>
        public override bool Verify(params SecurityBuffer[] securityBuffers)
        {
            NlmpUtility.UpdateSealingKeyForConnectionlessMode(
                this.nlmpServer.Context.NegFlg, this.nlmpServer.Context.ClientHandle,
                this.nlmpServer.Context.ClientSealingKey, this.clientSequenceNumber);

            return(NlmpUtility.GssApiVerify(
                       this.version,
                       this.nlmpServer.Context.NegFlg,
                       this.nlmpServer.Context.ClientHandle,
                       this.nlmpServer.Context.ClientSigningKey,
                       ref this.clientSequenceNumber,
                       securityBuffers));
        }
Beispiel #3
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);
        }
Beispiel #4
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);
        }