Esempio n. 1
0
        List <Byte> buildTbsRequest(X500DistinguishedName requester)
        {
            List <Byte> tbsRequest = new List <Byte>();

            if (requester != null)
            {
                X509AlternativeName requesterName = new X509AlternativeName(X509AlternativeNamesEnum.DirectoryName, requester);
                tbsRequest.AddRange(Asn1Utils.Encode(requesterName.RawData, 0xa1));
            }
            tbsRequest.AddRange(RequestList.Encode());
            if (Nonce)
            {
                _listExtensions.Add(new X509NonceExtension());
                Byte[] extensionsbytes = Asn1Utils.Encode(Crypt32Managed.EncodeX509Extensions(Extensions), 162);
                tbsRequest.AddRange(extensionsbytes);
                NonceValue = _listExtensions[_listExtensions.Count - 1].Format(false).Trim();
            }
            return(Asn1Utils.Encode(tbsRequest.ToArray(), 48).ToList());
        }