2009-07-24 3 views
0

В C# я загружаю объекты X509Certificate2 из X509Store инициализируется следующим образом:X509Certificate2: Расширения отсутствуют

 X509Store store = new X509Store("My", StoreLocation.LocalMachine); 
     store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly); 

Я сделал свой сертификат в OpenSSL и он установлен в «Любая цель». Поэтому я ожидал бы, что X509Certificate2.Extensions будет непустым и удерживать расширение «Server Auth». Тем не менее, Extensions всегда является пустым списком. Есть идеи?

ответ

2

Я бы дважды проверял сертификат в независимом источнике, просто чтобы проверить, что данные, которые вы там находите, действительно есть. Я обычно использую один из веб-инструментов на базе:

http://www.redkestrel.co.uk/cgi/decodeCert.pl

http://www.bogpeople.com/networking/CertDecoder/

на два таких инструмента.

Таким образом, вы знаете, если это тестовые данные или использование библиотеки X509.

Далее, я не уверен, что вы подразумеваете под «любой целью». Я просунул документацию Open SSL, и я не вижу настройки для того, что вы описываете. В сертификате есть два расширения, которые определяют использование ключа - использование ключа и расширенное использование ключа. И описание команд Open SSL и файла конфигурации не показало места, в котором вы могли бы установить «any», и все они включаются. То, что я думаю, что вы хотите, это «serverAuth» значение на Расширенного расширения использования ключа:

http://www.openssl.org/docs/apps/x509v3_config.html#Extended_Key_Usage_

Если вы готовы опубликовать конкретную команду OpenSSL используется и конфигурационный файл для создания сертификата, я мог бы, вероятно, быть больше помощи.

+0

Спасибо за информацию .. Я рассмотрю вопрос о настройке материала непосредственно в моем материале OpenSSL. Когда я сказал, что он настроен на «любую цель», я имел в виду диспетчер сертификатов MMC snapin в Windows. Если вы посмотрите на свойства сертификата для установленного сертификата, на вкладке «Общие» он будет отмечен как «Включить все цели для этого сертификата». Но я предполагаю, что это означает что-то другое или просто случайный бамбук Microsoft. – evilfred