#x509 #certenroll
#x509 #certenroll
Вопрос:
Я хочу запросить сертификат (с сервера сертификатов AD), используя шаблон. Я хочу предоставить открытый ключ в запросе. Используя образец SDK от msft
IX509CertificateRequest iRequest = objEnroll.Request;
// then get the inner PKCS10 request
IX509CertificateRequest iInnerRequest =
iRequest.GetInnerRequest(InnerRequestLevel.LevelInnermost);
IX509CertificateRequestPkcs10 iRequestPkcs10 =
iInnerRequest as IX509CertificateRequestPkcs10;
// create CX500DistinguishedName
CX500DistinguishedName objName = new CX500DistinguishedName();
objName.Encode(subjectName, X500NameFlags.XCN_CERT_NAME_STR_NONE);
// set up the subject name
iRequestPkcs10.Subject = objName;
Я думаю, что тогда мне нужно сделать что-то вроде этого
iRequestPkcs10.PublicKey.InitializeFromEncodedPublicKeyInfo(xx);
но я не знаю, что такое xx. У меня есть открытый ключ (в объекте bouncy castle PKCS10), но в каком формате он должен быть передан этой функции?
Ответ №1:
Вы можете указать открытый ключ в нескольких различных форматах.
Согласно MSDN, InitializeFromEncodedPublicKeyInfo принимает два параметра: первый — открытый ключ, а второй — значение перечисления EncodingType, которое определяет формат предоставляемого вами открытого ключа.
Комментарии:
1. Спасибо, это дает только синтаксическую кодировку (base64, raw hex и т.д.). В нем не указано, какой тип данных ожидается; Я имею в виду, если его base64, какие байты были введены для преобразования base64
2. А, понятно. Это как-нибудь поможет? msdn.microsoft.com/en-us/library/aa379039(v=VS.85).aspx