Jelentkezzen intelligens kártyával PDF-fájl aláírással

Bevezetés

digitális korban a dokumentumok védelme fontosabb, mint valaha. Legyen szó szerződésről, megállapodásról vagy bármilyen érzékeny információról, a legfontosabb annak biztosítása, hogy a dokumentum hiteles legyen, és ne hamisítsák meg. Írja be a digitális aláírásokat! Ma megvizsgáljuk, hogyan írhat alá PDF-fájlt intelligens kártyával az Aspose.PDF for .NET segítségével. Ez a nagy teljesítményű könyvtár lehetővé teszi a fejlesztők számára a PDF-dokumentumok hatékony kezelését és létrehozását, beleértve a biztonságos digitális aláírások hozzáadását. Szóval, fogd a smart kártyádat, és kezdjük is!

Előfeltételek

Mielőtt belevágnánk a PDF-fájlok aláírásának aprólékos dolgaiba, győződjünk meg arról, hogy mindennel rendelkezik, amire szüksége van. Íme egy ellenőrző lista, amely segít a felkészülésben:

  1. Aspose.PDF for .NET: Győződjön meg arról, hogy telepítve van az Aspose.PDF könyvtár. Letöltheti atelek.
  2. Visual Studio: Egy fejlesztői környezet, ahol megírhatja és futtathatja .NET kódját.
  3. Intelligens kártya: Szüksége lesz egy érvényes digitális tanúsítvánnyal rendelkező intelligens kártyára.
  4. A C# alapvető ismerete: A C# programozás ismerete hasznos lesz, mivel ezen a nyelven fogunk kódrészleteket írni.
  5. PDF-dokumentum: PDF-mintafájl (plblank.pdf), hogy teszteljük aláírási folyamatunkat.

Ha ezekkel az előfeltételekkel rendelkezik, készen áll arra, hogy belemerüljön a kódba!

Csomagok importálása

Először is importáljuk a szükséges csomagokat. Referenciákat kell hozzáadnia az Aspose.PDF könyvtárhoz a projektben. A következőképpen teheti meg:

  1. Nyissa meg a Visual Studio-t.
  2. Hozzon létre egy új projektet, vagy nyisson meg egy meglévőt.
  3. Kattintson a jobb gombbal a projektre a Solution Explorerben, és válassza kiManage NuGet Packages.
  4. Keressen ráAspose.PDF és telepítse a legújabb verziót.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

Most, hogy a szükséges csomagokat importáltuk, bontsuk le lépésről lépésre a kódot.

1. lépés: Állítsa be a dokumentumot

A folyamat első lépése az aláírni kívánt PDF dokumentum beállítása. Ezt a következőképpen teheti meg:

string dataDir = "YOUR DOCUMENTS DIRECTORY";
Document doc = new Document(dataDir + "blank.pdf");

Ebben a részletben meghatározzuk a dokumentumkönyvtárunk elérési útját, és létrehozzuk a példánytDocument nevű minta PDF fájl használatávalblank.pdf . Ügyeljen arra, hogy cserélje ki"YOUR DOCUMENTS DIRECTORY" a tényleges elérési úttal, ahol a PDF található.

2. lépés: A PdfFileSignature inicializálása

Ezután inicializáljuk aPdfFileSignature osztály, amely az aláírási folyamat lebonyolításáért felelős.

using (Facades.PdfFileSignature pdfSign = new Facades.PdfFileSignature())
{
    pdfSign.BindPdf(doc);

Itt létrehozunk egy példánytPdfFileSignatureés kösse össze a PDF dokumentumunkkal. Ez előkészíti a dokumentumot aláírásra.

3. lépés: Nyissa meg a Smart Card Certificate-t

Most jön a döntő rész – az intelligens kártyán tárolt digitális tanúsítvány elérése. Így tehetjük meg:

Nyissa meg a Tanúsítványtárolót

System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser);
store.Open(System.Security.Cryptography.X509Certificates.OpenFlags.ReadOnly);

Megnyitjuk az aktuális felhasználói profilban található tanúsítványtárolót. Ez lehetővé teszi számunkra, hogy hozzáférjünk a gépére telepített tanúsítványokhoz, beleértve az intelligens kártyán lévőket is.

Válassza ki a Tanúsítványt

System.Security.Cryptography.X509Certificates.X509Certificate2Collection sel =
    System.Security.Cryptography.X509Certificates.X509Certificate2UI.SelectFromCollection(
        store.Certificates, null, null, System.Security.Cryptography.X509Certificates.X509SelectionFlag.SingleSelection);

Ez a kód arra kéri a felhasználót, hogy válasszon tanúsítványt a gyűjteményből. A felhasználói felület megjeleníti az összes elérhető tanúsítványt, lehetővé téve, hogy kiválassza az intelligens kártyájához társított tanúsítványt.

4. lépés: Hozd létre a külső aláírást

Miután kiválasztotta a tanúsítványt, a következő lépés egy külső aláírás létrehozása a kiválasztott tanúsítvánnyal.

Aspose.Pdf.Forms.ExternalSignature externalSignature = new Aspose.Pdf.Forms.ExternalSignature(sel[0]);

Itt létrehozunk egy példánytExternalSignature a kiválasztott tanúsítvány használatával. Ez az objektum a PDF-dokumentum aláírására szolgál.

5. lépés: Állítsa be az aláírás megjelenését

Most pedig állítsuk be aláírásunk megjelenését. Itt testreszabhatja, hogyan nézzen ki aláírása a dokumentumon.

pdfSign.SignatureAppearance = dataDir + "demo.png";

Ebben a részletben az aláírás megjelenését adjuk meg egy képfájl elérési útjának megadásával (például egy logó vagy egy aláírás grafika). Ügyeljen arra, hogy cserélje ki"demo.png" a ténylegesen használni kívánt képpel.

6. lépés: Írja alá a PDF-fájlt

Ha minden be van állítva, ideje aláírni a PDF dokumentumot!

pdfSign.Sign(1, "Reason", "Contact", "Location", true, new System.Drawing.Rectangle(100, 100, 200, 200), externalSignature);
pdfSign.Save(dataDir + "externalSignature2.pdf");

Ebben a lépésben aSign módszer rajtunkpdfSign objektum. Az egyes paraméterek jelentése:

  • 1: Az oldalszám, ahol az aláírás megjelenik.
  • "Reason": A dokumentum aláírásának oka.
  • "Contact": Az aláíró elérhetősége.
  • "Location": Az aláíró helye.
  • true: Azt jelzi, hogy létre kell-e hozni egy látható aláírást.
  • new System.Drawing.Rectangle(100, 100, 200, 200): Az aláírás helye és mérete a PDF-ben.
  • externalSignature: A korábban létrehozott aláírási objektum.

Végül az aláírt dokumentumot más néven mentjükexternalSignature2.pdf.

7. lépés: Ellenőrizze az aláírást

A dokumentum aláírása után feltétlenül ellenőrizni kell, hogy az aláírás érvényes-e. Ezt a következőképpen teheti meg:

Inicializálja az ellenőrzési folyamatot

using (Facades.PdfFileSignature pdfSign = new Facades.PdfFileSignature(new Document(dataDir + "externalSignature2.pdf")))
{
    IList<string> sigNames = pdfSign.GetSignNames();

Létrehozunk egy új példánytPdfFileSignature az aláírt dokumentumhoz. Ezután lekérjük a dokumentumban található összes aláírás nevét.

Ellenőrizze az aláírás érvényességét

for (int index = 0; index <= sigNames.Count - 1; index++)
{
    if (!pdfSign.VerifySigned(sigNames[index]) || !pdfSign.VerifySignature(sigNames[index]))
    {
        throw new ApplicationException("Not verified");
    }
}

Végighurkoljuk az egyes aláírási neveket, és ellenőrizzük azok érvényességét. Ha valamelyik aláírás ellenőrzése sikertelen, a rendszer kivételt dob, jelezve, hogy az aláírás érvénytelen.

Következtetés

És megvan! Sikeresen aláírt egy PDF-dokumentumot intelligens kártyával az Aspose.PDF for .NET segítségével. Ez a folyamat nemcsak biztonságossá teszi dokumentumát, hanem egy olyan hitelességi réteget is hozzáad, amely döntő fontosságú a mai digitális világban. Legyen szó szerződésekről, jogi dokumentumokról vagy bármilyen érzékeny információról, a digitális aláírás alkalmazásának ismerete értékes készség.

GYIK

Mi az Aspose.PDF for .NET?

Az Aspose.PDF for .NET egy hatékony könyvtár, amely lehetővé teszi a fejlesztők számára PDF dokumentumok létrehozását, kezelését és konvertálását .NET alkalmazásokon belül.

Szükségem van intelligens kártyára a PDF-ek aláírásához?

Bár az intelligens kártya nem kötelező, erősen ajánlott biztonságos digitális aláíráshoz, mivel további biztonsági réteget nyújt.

Használhatok bármilyen PDF fájlt az aláíráshoz?

Igen, bármilyen PDF-fájlt használhat, de ügyeljen arra, hogy ne legyen jelszóval védett. Ha igen, először fel kell oldania.

Mi a teendő, ha nincs digitális tanúsítványom?

Digitális tanúsítványt beszerezhet egy megbízható tanúsító hatóságtól (CA), vagy tesztelési célokra használhat önaláírt tanúsítványt.

Elérhető az Aspose.PDF próbaverziója?

Igen, letölthet egy ingyenes próbaverziót a webhelyrőlAspose honlapja.