2

Извините, но я не говорю по-английски, и я сделаю все возможное.Как подписать PDF-файл с использованием сертификатов PKCS11, SmartCard-eToken и itextsharp в .NET?

Я попытался подписать документ PDF с цифровым сертификатом от типа PKCS # 11 на C#. NET 4.0. Как вы знаете, для такого сертификата требуется закрытый ключ, в моем случае он хранится на Aladdin eToken, а затем создает подпись с помощью itextsharp.

Я пробовал с CAPICOM, System.Security.Cryptography, BouncyCastle, Chilkat, Net.Pkcs11 и т. Д. Но никаких работ нет.

PdfSignatureAppearance имеет метод SetCrypto (ключ, cert, ..., ...), где первым параметром является ключ сертификата, а второй параметр - тот же сертификат, но я не могу получить частный ключ eToken. Эй читать и думать, что это невозможно.

Я использую C# native, используя криптографию. NET в нескольких строках коды:

X509Certificate2 x509 = (Certificate from X509Certificate2Collection); 
CspParameters cspParams = new CspParameters(1",eToken Base Cryptographic Provider", "Default") 
cspParams.Flags = CspProviderFlags.UseMachineKeyStore; 
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParams)) 
{ 
byte[] signature = rsa.SignData(x509.RawData, "SHA1"); 
//I don't know how join it with itextsharp 
rsa.PersistKeyInCsp = false; 
rsa.Clear(); 
} 

Я думаю, что я могу использовать метод SignData(), но я немного запутался. Как я могу связать это.

Я нашел много документации, но ничего конкретного, например, java-апплеты не работают, потому что у меня 64-разрядная версия Windows 7 и коды. NET не работает. Я бы, по возможности, использовал одно и то же ядро. NET или бесплатные библиотеки с поддержкой 64-битной Windows 7. Кто-то сделал реальное решение?

Также я хотел бы знать, как удалить кеш PIN-кода eToken, поскольку он только один раз спрашивает меня о пароле, а затем остается в памяти.

Пожалуйста, мне нужна ваша помощь.

спасибо.

+1

Как вы пытались так много, я думаю, вы также пытались наш SecureBlackbox, не так ли? Он обеспечивает поддержку PKCS # 11 для .NET, включая подписание PDF с использованием сертификатов, хранящихся на криптографических устройствах. –

ответ

1

Я нашел большую основу для работы с жетонами: pkcs11.net
найдено здесь: http://sourceforge.net/projects/pkcs11net/

Дело в том: с АСР закрытого ключа и сертификата вы получили от маркера, вы его с помощью IText для подписи. С ключом, это обычная подпись, которую вы показываете на веб-сайте IText.

Вы видите, pdf signing отличается от pkcs7 signing, и это отличается от xml signing.

Опубликовать комментарий, если вам нужно больше информации

+0

Просто примечание - большинство устройств PKCS # 11 не будут предоставлять вам секретный ключ по соображениям безопасности. –

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

  • Нет связанных вопросов^_^