public void Load(PeReader rdr, uint adr) { rdr.SetPosition(adr); uint s = Location.Size; while (rdr.BaseStream.Position - adr < s) { CertificateEntry e = new CertificateEntry(); uint len = rdr.ReadUInt32(); e.Revision = (CertificateRevision)rdr.ReadUInt16(); e.CertificateType = (CertificateType)rdr.ReadUInt16(); e.CertificateData = rdr.ReadBytes((int)len - 8); items.Add(e); } }
public void WriteEncryptedApplicationData_TLS_AES_128_GCM_SHA256_ResultIsExpected() { //Arrange var expectedData = GetEncryptedApplicationData(); var cerificateData = GetCertificateData(); var signatureData = GetSignatureData(); var verifyData = GetVerifyData(); var encryptionData = GetEncryptionData(); var buffer = new byte[TlsBuffer.MaxRecordSize]; using var aead = Cipher.TLS_AES_128_GCM_SHA256.CreateAead(Utils.ParseHexString(encryptionData.Iv), Utils.ParseHexString(encryptionData.Key)); //Act var cursor = new MemoryCursor(buffer); using (TlsRecord.StartEncryptedWriting(cursor, RecordType.Handshake, aead, encryptionData.SeqNum)) { EncryptedExtensions.WriteEmpty(cursor); using (Certificate.StartWriting(cursor)) { CertificateEntry.Write(Utils.ParseHexString(cerificateData), cursor); } using (CertificateVerify.StartWriting(cursor, SignatureScheme.RSA_PSS_RSAE_SHA256)) { Utils.ParseHexString(signatureData).CopyTo(cursor); } using (Finished.StartWriting(cursor)) { Utils.ParseHexString(verifyData).CopyTo(cursor); } } //Assert Assert.Equal(expectedData, Utils.ToHexString(cursor.PeekStart().ToArray()), true); }
public DefaultCertificate(CertificateEntry entry) : base(entry) { }
public void Insert(int index, CertificateEntry item) { items.Insert(index, item); }
public int IndexOf(CertificateEntry item) { return(items.IndexOf(item)); }
public bool Remove(CertificateEntry item) { return(items.Remove(item)); }
public bool Contains(CertificateEntry item) { return(items.Contains(item)); }
public Certificate(CertificateEntry entry) { this.entry = entry; }
public void Add(CertificateEntry item) { items.Add(item); }