Itext7 - «Pkcs12Store» существует в BouncyCastle.Crypto и BouncyCastle.Cryptography в С#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Itext7 - «Pkcs12Store» существует в BouncyCastle.Crypto и BouncyCastle.Cryptography в С#

Сообщение Anonymous »


Проблема с входом в PDF-файл iText7 на C#

Я столкнулся со следующим исключением при попытке подписать PDF-файл с помощью iText7 версии 8.0.2 на C#. Я также установил пакет itext7.bouncy-castle-adapter версии 8.0.2.

Вот мой код:

`с использованием iText.Kernel.Pdf;
использование iText.Signatures;
используя itextpdf.kernel.pdf.canvas.parser;
используя itextpdf.kernel.pdf.canvas.parse.Listener;
используя Org.BouncyCastle.Crypto;
используя Org.BouncyCastle.Pkcs;
с помощью Org.BouncyCastle.X509;
используя System.IO;
используя iText.Boucycastle.Cert;
используя iText.Boucycastle.X509;
используя iText.Boucycastle.Crypto;
используя iText.Commons.Boucycastle.Cert;
используя iText.IO.Font.Constants;
используя iText.Kernel.Font;
используя iText.Kernel.Geom;
с помощью iText.Kernel.Pdf;

PdfReader Reader1=новый PdfReader(вход);
PdfDocument pdfDocument = новый PdfDocument(reader1);

IExternalSignature _privateSignature;
IX509Certificate[] _signChain;
строка KEYSTORE = @"";
char[] ПАРОЛЬ = "".ToCharArray();

(Я получаю сообщение об ошибке в строке ниже)
var pks = новый Org.BouncyCastle.Pkcs.Pkcs12Store(новый FileStream(KEYSTORE, FileMode.Open, FileAccess.Read), ПАРОЛЬ);

Псевдоним строки = null;

foreach (строка tAlias ​​в pks.Aliases)
{
если (pks.IsKeyEntry(tAlias))
{
псевдоним = tAlias;break;
}

var pk = pks.GetKey(alias).Key;
var ce = pks.GetCertificateChain(alias);
_signChain = новый IX509Certificate[ce.Length];

for (int k = 0; k< ce.Length; ++k)
_signChain[k] = новый X509CertificateBC(ce[k].Certificate);

_privateSignature = new PrivateKeySignature(new PrivateKeyBC(pk), "SHA-512");
используя (FileStream SignedPdf = новый FileStream(выход, FileMode.Create, FileAccess.ReadWrite))
{
Свойства StampingProperties = новые StampingProperties();

var Signer = новый iText.Signatures.PdfSigner(pdfReader, SignedPdf, Properties.UseAppendMode());
PdfSignatureAppearance SAP = Signer.GetSignatureAppearance();
sap.SetLayer2Text(string.Empty);
sap.SetPageNumber(pageNumber);
sap.SetLayer2Text(DateTime.Now.ToString());
sap.SetRenderingMode(PdfSignatureAppearance.RenderingMode.NAME_AND_DESCRIPTION);
sap.SetLayer2FontSize(7);
sap.SetPageRect(новый iText.Kernel.Geom.Rectangle(50, 700, 200, 100));
Шрифт PdfFont = PdfFontFactory.CreateFont(StandardFonts.HELVETICA);
sap.SetLayer2Font(шрифт);
Signer.SignDetached(_privateSignature, _signChain, null, null, null, 0, iText.Signatures.PdfSigner.CryptoStandard.CMS);
}`
Произошла ошибка: тип «Pkcs12Store» существует как в «BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942», так и в «BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938'

Я просматривал разные посты, но ничего не получил. Пожалуйста, помогите мне устранить вышеуказанную ошибку
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»