Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.RdpbcgrDecoder.ParseProprietaryServerCertificate C# (CSharp) Method

ParseProprietaryServerCertificate() private method

Parse PROPRIETARYSERVERCERTIFICATE (parser index is updated according to parsed length)
private ParseProprietaryServerCertificate ( byte data, int &currentIndex ) : PROPRIETARYSERVERCERTIFICATE
data byte data to be parsed
currentIndex int current parser index
return PROPRIETARYSERVERCERTIFICATE
        private PROPRIETARYSERVERCERTIFICATE ParseProprietaryServerCertificate(byte[] data, ref int currentIndex)
        {
            PROPRIETARYSERVERCERTIFICATE cert = new PROPRIETARYSERVERCERTIFICATE();

            // serverCertificate: dwSigAlgId
            cert.dwSigAlgId = (dwSigAlgId_Values)ParseUInt32(data, ref currentIndex, false);

            // serverCertificate: dwKeyAlgId
            cert.dwKeyAlgId = (dwKeyAlgId_Values)ParseUInt32(data, ref currentIndex, false);

            // serverCertificate: wPublicKeyBlobType
            cert.wPublicKeyBlobType = (wPublicKeyBlobType_Values)ParseUInt16(data, ref currentIndex, false);

            // serverCertificate: wPublicKeyBlobLen
            cert.wPublicKeyBlobLen = ParseUInt16(data, ref currentIndex, false);

            // serverCertificate: PublicKeyBlob
            cert.PublicKeyBlob = ParseRsaPublicKey(data, ref currentIndex);

            // serverCertificate: wSignatureBlobType
            cert.wSignatureBlobType = (wSignatureBlobType_Values)ParseUInt16(data, ref currentIndex, false);

            // serverCertificate: wSignatureBlobLen
            cert.wSignatureBlobLen = ParseUInt16(data, ref currentIndex, false);

            // serverCertificate: SignatureBlob
            cert.SignatureBlob = GetBytes(data, ref currentIndex, (int)cert.wSignatureBlobLen);

            return cert;
        }
RdpbcgrDecoder