c#. Рутокен 3.0. Ubuntu 20 Value cannot be null. (Parameter 'source')
Добрый день.
Возникает Exception при подписывании документа PKCS7Sign().
Value cannot be null. (Parameter 'source')
Использую NuGet
Aktiv.RutokenPkcs11Interop 2.0.11
Pkcs11Interop 4.1.1
Через браузер, на демо портале все работает.
Подскажите, пожалуйста, в чем причина?
public byte[] Sign(string FilePath, bool isSignAttached = true)
{
Net.Pkcs11Interop.HighLevelAPI.ObjectHandle certificate = new();
Net.Pkcs11Interop.HighLevelAPI.ObjectHandle privateKey = new();
try
{
string mydll = @"./librtpkcs11ecp.so";
Console.WriteLine($"mydll: {mydll}");
using (var pkcs11 = new Pkcs11(mydll, AppType.SingleThreaded))
{
Slot slot = Helpers.GetUsableSlot(pkcs11); // Find first slot with token present
using (Session session = slot.OpenSession(SessionType.ReadWrite))
{
session.Login(CKU.CKU_USER, _password);
var pairs = GetCertAndKey(session, _ckaId);
byte[] ar = File.ReadAllBytes(FilePath);
return session.PKCS7Sign(ar, pairs[0].cert, pairs[0].key, null, SampleConstants.UseHardwareHash); // Подпись данных c присоединенной подписью
}
}
}