private void Parse(byte[] data) { byte[] keyId; byte[] serialNumber; if (base.Oid.Value == AuthorityKeyIdentifierOid) { CertificateFactory.ParseAuthorityKeyIdentifierExtension( data, out keyId, out m_authorityNames, out serialNumber); } else { CertificateFactory.ParseAuthorityKeyIdentifierExtension2( data, out keyId, out m_authorityNames, out serialNumber); } m_keyId = Utils.ToHexString(keyId); m_serialNumber = null; // the serial number is a little endian integer so must convert to string in reverse order. if (serialNumber != null) { StringBuilder builder = new StringBuilder(serialNumber.Length * 2); for (int ii = serialNumber.Length - 1; ii >= 0; ii--) { builder.AppendFormat("{0:X2}", serialNumber[ii]); } m_serialNumber = builder.ToString(); } }