mfarkan / E-Imza-iTextSharp-ESYA-Api

E-imza ESYA API ile iTextSharp kütüphaneleri kullanılarak PDF imzalama işlemleri.
Apache License 2.0
33 stars 7 forks source link
digitalsignature esya-api itextsharp

E-Imza-iTextSharp-KAMUSM-Api

ITextSharp kütüphanesi ile TÜBİTAK KamuSM ESYA API yardımıyla E-imza bilgileri alınarak PDF bilgilerinin imzalandığı Windows Forms uygulaması.

İmzalanmış Pdf Çıktısı

2 imzalı bir pdf çıktısı.

E-Imza Bilgisinin alınması.

SmartCardManager smartCardManager = SmartCardManager.getInstance();
var smartCardCertificate = smartCardManager.getSignatureCertificate(false,false);
var signer = smartCardManager.getSigner(request.DonglePassword, smartCardCertificate);
CERTIFICATE = smartCardCertificate.asX509Certificate2();
externalSignature = new SmartCardSignature(signer, CERTIFICATE, "SHA-256");

Not: Burada kullanılan kod parçacığı KamuSM'in SmardCardManager.cs isimli sınıfından alınmıştır.

Imzalanmış PDF'in Imza bilgisinin Kontrolü

Imzalı bir PDF'in bilgisi

Uygulama Uyarı Mesajı

Uyarı Mesajı

Imza Bilgisinin Kontrolü

PdfReader reader = new PdfReader(pdfContent);
AcroFields fields = reader.AcroFields;
List<String> names = fields.GetSignatureNames();

for (int i = 1; i < names.Count + 1; i++)
 {//Birden fazla imza olabildiği için döngüyle her imza kontrol edildi.
  string temp = string.Empty;
  PdfPKCS7 pkcs7 = fields.VerifySignature(names[i - 1]);
  var result = pkcs7.Verify();
  if (result)
  {
      temp = string.Format("{0}.imza geçerli.", i);
  }
  else
  {
      temp = string.Format("{0}.imza geçersiz.", i);
  }
  message += temp;
 }

Kaynaklar ;

KamuSM ESYA API

iTextSharp API