2009-09-09 2 views
2

Поддерживает ли Dot NET сертификаты PKCS11 для устройств HSM. Если нет, существуют ли какие-либо другие сторонние утилиты, которые поддерживают сертификаты pkcs11?Сертификат PKCS11

ответ

0

Не уверен, что вы подразумеваете под «устройством HSM», поэтому вам нужно будет проверить специфику ваших требований.

В противном случае .NET делает поддержки PKCS9, но никаких признаков PKCS11 в основном .NET (для бывших System.Security.Cryptography.Pkcs имен).

Вне основного .NET есть некоторые поисковые запросы (например, http://msdn.microsoft.com/en-us/library/microsoft.clm.shared.profiletemplates.smartcardprovidertype(VS.85).aspx).

+0

Даже я не мог найти их до сих пор и считаю, что на данный момент их нет. – pankajt

+1

PKCS - это всего лишь куча стандартов (как RFCS), PKCS # 11 является стандартом для использования аппаратных криптоопределений (часто называемых HSM - Hardware Security Модуль). PKCS # 11 - это стандарт API, различные поставщики HSM поставляют совместимые с PKCS # 11 драйверы (динамические/разделяемые библиотеки), которые PKCS # 11 может загружать и использовать для генерации ключей, импорта сертификатов и общего криптования и т. Д. – IanNorton

+0

Я вижу ссылку на P11 в вашей ссылке, но так как я не ".net aware "Я не знаю, где его использовать:

Два типа поставщиков смарт-карт поддерживаются CLM: PKCS # 11 и Base CSP.
@DevilJin – Cerber

0

Я не специалист .NET, но, согласно Google PKIblackbox, есть набор инструментов для .NET, который говорит PCKS # 11. Затем существуют некоторые оболочки PKCS # 11-CSP, которые позволяют получать доступ к модулям PKCS # 11 через CryptoAPI, поскольку я предполагаю, что в мире .NET есть много помощников. Одним из таких оберток являются CSP11

1

Для PKCS11 вы можете использовать открытый источник Pkcs11Interop. Он отлично работает и содержит много модульных тестов с примерами использования.

0

Вы можете легко вызывать API-интерфейсы PKCS11 из .net с помощью инструкций, как это:

[DllImport("cryptoki.dll")] 
    static extern ushort C_Initialize(int reserved); 
0

Windows, и .NET в силе этого подписываются быть платформой для Windows, имеет собственные альтернативы PKCS # 11.

В самой .NET есть System.Security.Cryptography, которая имеет концепцию Key Storage Providers, в Windows есть CryptoAPI со своими поставщиками криптографических услуг и его меньшим подмножеством, называемым мини-драйверами, предназначенными для смарт-карт.

В обоих случаях приложения, построенные на связанных криптографических API, получают доступ к криптографическим устройствам, таким как модули безопасности оборудования, которые интегрируются с ними.

Все поставщики обеспечат интеграцию с одной или несколькими из этих моделей поставщиков, поэтому вы можете использовать эти устройства без использования PKCS # 11, если это ваш интерес.

Если вам почему-то нужно использовать PKCS # 11, и есть случаи, когда это может потребоваться, вы должны посмотреть на https://www.pkcs11interop.net/, поскольку он предоставляет управляемую оболочку для собственных библиотек PKCS # 11, предоставляемых поставщиками HSM.

Если вы спуститесь по этому маршруту, вы можете использовать SoftHSM (https://www.opendnssec.org/softhsm/) для тестирования, если у вас нет такого устройства, если вы останетесь с криптографическими API-интерфейсами Windows, вы можете провести тестирование с помощью решения Virtual Smart Card, которое включенных в Windows, и это сделает разумную работу, приближаясь к тем проблемам, которые у вас будут с физическим HSM.

Смежные вопросы