Извлеките pkcs7 (byte []) из файла pdf, используя IText или ITextSharp или BouncyCastle - PullRequest
2 голосов
/ 14 мая 2011

Как извлечь из файла, подписанного в формате pdf, пакет PKCS7, закодированный с использованием IText или BouncyCastle, чтобы я мог сохранить или проверить его в другой среде?На самом деле, как мне вообще получить пакет, закодированный PKCS7, из pdf-файла со знаком?

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Мой друг помог мне получить ответ.

public static byte[] ExtractPKCS7From(string path)
{
    AcroFields acroFields = new PdfReader(path).AcroFields;
    List<string> names = acroFields.GetSignatureNames();

    foreach(var name in names)
    {
        PdfDictionary dict = acroFields.GetSignatureDictionary(name);
        PdfString contents =
            (PdfString)PdfReader.GetPdfObject(dict.Get(PdfName.CONTENTS));

        return contents.GetOriginalBytes();
    }
    return null;
}

Довольно прямо, не так ли?

0 голосов
/ 22 декабря 2015

Код для Java, делай что хочешь с объектом pkcs7! :)

PdfReader r = new PdfReader(fOs);
AcroFields af = r.getAcroFields();
ArrayList<String> listNames = af.getSignatureNames();
for(String x : listNames){
    PdfPKCS7 pkcs7 = af.verifySignature(signature);
}

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...