Beispiel #1
0
        public KrbEncryptionKey AuthenticateServiceResponse(string asRepEncoded)
        {
            var apRep = KrbApRep.DecodeApplication(Convert.FromBase64String(asRepEncoded));

            var decrypted = new DecryptedKrbApRep(apRep)
            {
                CTime = CTime, CuSec = CuSec, SequenceNumber = SequenceNumber
            };

            decrypted.Decrypt(SessionKey.AsKey());

            decrypted.Validate(ValidationActions.TokenWindow);

            return(decrypted.Response.SubSessionKey ?? SessionKey);
        }
        public KrbEncryptionKey AuthenticateServiceResponse(ReadOnlyMemory <byte> apRepBytes)
        {
            var apRep = KrbApRep.DecodeApplication(apRepBytes);

            var decrypted = new DecryptedKrbApRep(apRep)
            {
                CTime          = this.CTime,
                CuSec          = this.CuSec,
                SequenceNumber = this.SequenceNumber
            };

            decrypted.Decrypt(this.SessionKey.AsKey());

            decrypted.Validate(ValidationActions.TokenWindow);

            return(decrypted.Response.SubSessionKey ?? this.SessionKey);
        }