Itext7 - «Pkcs12Store» существует в BouncyCastle.Crypto и BouncyCastle.Cryptography в С# ⇐ C#
Itext7 - «Pkcs12Store» существует в BouncyCastle.Crypto и BouncyCastle.Cryptography в С#
Проблема с входом в 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'
Я просматривал разные посты, но ничего не получил. Пожалуйста, помогите мне устранить вышеуказанную ошибку
Проблема с входом в 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'
Я просматривал разные посты, но ничего не получил. Пожалуйста, помогите мне устранить вышеуказанную ошибку
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать библиотеку BouncyCastle FIPS вместе с библиотекой BouncyCastle.Cryptography?
Anonymous » » в форуме C# - 0 Ответы
- 58 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблема с расшифровкой PGP с помощью BouncyCastle.Cryptography 2.0.0 и более поздних версий
Anonymous » » в форуме C# - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-