コード例 #1
0
 protected override void SignMessage(Message message, string hashAlg, BufferValueWriter writer)
 {
     if (HMAC == null)
         writer.WriteBytes (this.connection.LocalCrypto.HashAndSign (hashAlg, writer.Buffer, 0, writer.Length));
     else
         base.SignMessage (message, hashAlg, writer);
 }
コード例 #2
0
        protected virtual void SignMessage(Message message, string hashAlg, BufferValueWriter writer)
        {
            if (HMAC == null)
            {
                throw new InvalidOperationException();
            }

            string callCategory = null;

                        #if TRACE
            int c = GetNextCallId();
            callCategory = String.Format("{0} {1}:SignMessage ({2},{3})", this.connectionType, c, hashAlg, writer.Length);
                        #endif
            Trace.WriteLineIf(NTrace.TraceVerbose, "Entering", callCategory);

            byte[] hash;
            lock (HMAC)
                hash = HMAC.ComputeHash(writer.Buffer, 0, writer.Length);

            //Trace.WriteLineIf (NTrace.TraceVerbose, "Got hash:  " + GetHex (hash), callCategory);

            writer.WriteBytes(hash);

            Trace.WriteLineIf(NTrace.TraceVerbose, "Exiting", callCategory);
        }
コード例 #3
0
 protected override void SignMessage(Message message, string hashAlg, BufferValueWriter writer)
 {
     if (message is FinalConnectMessage)
     {
         writer.WriteBytes(this.connection.LocalCrypto.HashAndSign(hashAlg, writer.Buffer, 0, writer.Length));
     }
     else
     {
         base.SignMessage(message, hashAlg, writer);
     }
 }
コード例 #4
0
 protected override void SignMessage(string hashAlg, BufferValueWriter writer)
 {
     if (this.hmac == null)
         writer.WriteBytes (this.provider.authentication.HashAndSign (hashAlg, writer.Buffer, 0, writer.Length));
     else
         base.SignMessage (hashAlg, writer);
 }