Beispiel #1
0
        public void DecryptedApRep_ctor()
        {
            var asrep = new DecryptedKrbApRep(new KrbApRep {
            });

            Assert.IsNotNull(asrep);
        }
Beispiel #2
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);
        }
Beispiel #4
0
        private static DecryptedKrbApRep CreateResponseMessage(DateTimeOffset ctime, int cusec, int sequence, KerberosKey sessionKey)
        {
            var apRepPart = new KrbEncApRepPart
            {
                CTime          = ctime,
                CuSec          = cusec,
                SequenceNumber = sequence
            };

            var apRep = new KrbApRep
            {
                EncryptedPart = KrbEncryptedData.Encrypt(
                    apRepPart.EncodeApplication(),
                    sessionKey,
                    KeyUsage.EncApRepPart
                    )
            };

            var decrypted = new DecryptedKrbApRep(apRep);

            decrypted.Decrypt(sessionKey);

            return(decrypted);
        }