Я пытаюсь создать модульный тест, который генерирует пустой тестовый документ, аналогичный тому, который был найден в примере Aspose Words.Я создал тестовый сертификат с помощью makecert.exe со следующей строкой в командной строке VS
makecert.exe -sv MyKey.pvk -n "CN=MY DIGITAL KEY" MyKey.cer
Затем я преобразовал его в файл .pvk, используя следующую строку
pvk2pfx.exe -pvk MyKey.pvk -spc MyKey.cer -pfx MyPFX.pfx
Послеэто было сделано, я скопировал файл .pfx в мое консольное приложение .net и установил параметр копирования всегда копировать, чтобы файл копировался в каталог bin при тестировании приложения в режиме отладки.
Мое консольное приложениезатем содержит следующие строки кода, которые пытаются записать pdf с цифровой подписью.
static void Main()
{
string MyDir = AppDomain.CurrentDomain.BaseDirectory;
// Create a simple document from scratch.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Test Signed PDF.");
// Load the certificate from disk.
// The other constructor overloads can be used to load certificates from different locations.
X509Certificate2 cert = new X509Certificate2(MyDir + "RpaKey.pfx", "");
Console.WriteLine("Loading certificate...");
// Pass the certificate and details to the save options class to sign with.
PdfSaveOptions options = new PdfSaveOptions();
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails(
cert,
"Test Signing",
"Aspose Office",
DateTime.Now);
Console.WriteLine("Creating digital signature details...");
try
{
// Save the document as PDF with the digital signature set.
doc.Save(MyDir + "Document.Signed Out.pdf", options);
Console.WriteLine("File saved successfully.");
}
catch (Exception ex)
{
Console.WriteLine("File write failed.");
Console.WriteLine(ex.Message);
if (ex.InnerException != null)
{
Console.WriteLine("");
Console.WriteLine(ex.InnerException);
}
}
Console.ReadKey();
}
Однако я продолжаю получать ошибку «указан неверный алгоритм» без внутреннего исключения.Кто-нибудь сталкивался с этой проблемой?Я пропустил шаг?Любая помощь приветствуется.