Bevezetés
A mai digitális környezetben a dokumentumok hitelességének és integritásának biztosítása kritikus fontosságú a vállalkozások és szervezetek számára. A digitális aláírások robusztus mechanizmust biztosítanak a dokumentumok hitelességének ellenőrzésére és a jogosulatlan módosítások észlelésére. A GroupDocs.Signature for .NET átfogó megoldást kínál a digitális aláírások kezelésére különféle dokumentumformátumokban, lehetővé téve a fejlesztők számára, hogy zökkenőmentesen integrálják az aláírási funkciókat .NET alkalmazásaikba.
Ez az oktatóanyag részletes magyarázatokkal és gyakorlati kódpéldákkal végigvezeti Önt a GroupDocs.Signature for .NET használatával történő digitális aláírások keresésének folyamatán.
Előfeltételek
Mielőtt belemerülnénk a megvalósítás részleteibe, győződjünk meg arról, hogy a következő előfeltételek teljesülnek:
GroupDocs.Signature for .NET: Töltse le és telepítse a könyvtárat innen: itt.
Fejlesztői környezet: Hozzon létre egy .NET fejlesztői környezetet a Visual Studio vagy a kívánt IDE segítségével.
Mintadokumentumok: Készítsen digitális aláírásokat tartalmazó mintadokumentumokat tesztelési célokra.
Alapismeretek: Jártasság a C# programozási nyelvben és a .NET keretrendszer alapjaiban.
Névterek importálása
Kezdje a szükséges névterek importálásával, hogy hozzáférhessen a GroupDocs.Signature for .NET által biztosított funkciókhoz:
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
Most bontsuk le a digitális aláírások keresésének folyamatát világos és könnyen kezelhető lépésekre:
1. lépés: Aláírásobjektum inicializálása
Kezdje egy példány létrehozásával a Signature
osztály, átadva a dokumentumod elérési útját:
string filePath = "sample_multiple_signatures.docx";
using (Signature signature = new Signature(filePath))
{
// A digitális aláírások keresésére szolgáló kód ide lesz hozzáadva.
}
2. lépés: Digitális aláírások keresése
Ezután használja a Search
módszer a SignatureType.Digital
paraméter a digitális aláírások kereséséhez a dokumentumban:
// Digitális aláírások keresése a dokumentumban
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(SignatureType.Digital);
3. lépés: Az eredmények feldolgozása és megjelenítése
Végül dolgozza fel a keresési eredményeket, és jelenítse meg a talált digitális aláírásokkal kapcsolatos releváns információkat:
Console.WriteLine($"\nSource document ['{filePath}'] contains the following digital signatures:");
foreach (var digitalSignature in signatures)
{
Console.WriteLine($"Digital signature found from {digitalSignature.SignTime} with validation status: {digitalSignature.IsValid}");
Console.WriteLine($"Certificate: Subject: {digitalSignature.Certificate?.SubjectName}");
Console.WriteLine($"Certificate: Issuer: {digitalSignature.Certificate?.IssuerName}");
Console.WriteLine($"Certificate: Serial Number: {digitalSignature.Certificate?.SerialNumber}");
Console.WriteLine();
}
Teljes példa
Íme egy teljes, működő példa, amely bemutatja, hogyan kereshetünk digitális aláírásokat egy dokumentumban:
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
namespace SearchDigitalSignatures
{
class Program
{
static void Main(string[] args)
{
// Dokumentum elérési útja
string filePath = "sample_multiple_signatures.docx";
// Aláíráspéldány inicializálása
using (Signature signature = new Signature(filePath))
{
// Digitális aláírások keresése a dokumentumban
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(SignatureType.Digital);
// Keresési eredmények megjelenítése
Console.WriteLine($"\nSource document ['{filePath}'] contains the following digital signatures:");
if (signatures.Count > 0)
{
foreach (var digitalSignature in signatures)
{
Console.WriteLine($"Digital signature found from {digitalSignature.SignTime} with validation status: {digitalSignature.IsValid}");
Console.WriteLine($"Certificate: Subject: {digitalSignature.Certificate?.SubjectName}");
Console.WriteLine($"Certificate: Issuer: {digitalSignature.Certificate?.IssuerName}");
Console.WriteLine($"Certificate: Serial Number: {digitalSignature.Certificate?.SerialNumber}");
Console.WriteLine();
}
}
else
{
Console.WriteLine("No digital signatures found in the document.");
}
}
}
}
}
Speciális keresési beállítások
Célzottabb keresésekhez használhatod a DigitalSearchOptions
a keresési feltételek testreszabásához:
// Digitális keresési lehetőségek létrehozása
DigitalSearchOptions options = new DigitalSearchOptions()
{
// Csak meghatározott oldalakon keressen (pl. 1. és 2. oldal)
PageNumber = 1,
PagesSetup = new PagesSetup() { Pages = new List<int> { 1, 2 } },
// Szűrés digitális aláírásokban található megjegyzések szerint
Comments = "Approved",
// Keresés dátum- és időtartományának beállítása
SignDateTimeFrom = new DateTime(2022, 1, 1),
SignDateTimeTo = DateTime.Now
};
// Keresés adott beállításokkal
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(options);
Tanúsítványinformációk kezelése
A digitális aláírások értékes tanúsítványinformációkat tartalmaznak, amelyekhez hozzáférhet és amelyeket érvényesíthet:
foreach (var digitalSignature in signatures)
{
if (digitalSignature.Certificate != null)
{
// Hozzáférési tanúsítvány tulajdonságai
Console.WriteLine($"Certificate Valid From: {digitalSignature.Certificate.NotBefore}");
Console.WriteLine($"Certificate Valid To: {digitalSignature.Certificate.NotAfter}");
// Ellenőrizze, hogy a tanúsítvány érvényes dátumtartományban van-e
bool isDateValid = DateTime.Now >= digitalSignature.Certificate.NotBefore &&
DateTime.Now <= digitalSignature.Certificate.NotAfter;
Console.WriteLine($"Certificate Date Validity: {isDateValid}");
// Hozzáférési tanúsítvány kibocsátójának adatai
Console.WriteLine($"Certificate Issuer: {digitalSignature.Certificate.IssuerName}");
}
}
Következtetés
A GroupDocs.Signature for .NET hatékony és rugalmas megoldást kínál a dokumentumokban található digitális aláírások keresésére és érvényesítésére. Ebben az oktatóanyagban lépésről lépésre bemutattuk a digitális aláírás-keresési funkció .NET-alkalmazásokban történő megvalósításának folyamatát, felvértezve Önt a dokumentumok biztonságának és integritás-ellenőrzésének fokozásához szükséges ismeretekkel.
A GroupDocs.Signature kihasználásával robusztus dokumentumkezelő rendszereket építhet, amelyek biztosítják digitális dokumentumai hitelességét és integritását, elősegítve a bizalmat és a megfelelőséget üzleti folyamataiban.
GYIK
GroupDocs.Signature képes ellenőrizni a digitális aláírások érvényességét?
Igen, a GroupDocs.Signature automatikusan ellenőrzi a digitális aláírásokat a keresési folyamat során, és érvényesítési állapotot biztosít a IsValid
a tulajdona DigitalSignature
osztály.
Mely dokumentumformátumok támogatják a digitális aláírás keresését?
A GroupDocs.Signature különféle formátumokban támogatja a digitális aláírások keresését, beleértve a PDF-et, a Microsoft Office dokumentumokat (Word, Excel, PowerPoint), az OpenOffice formátumokat és egyebeket.
Kereshetek digitális aláírásokat jelszóval védett dokumentumokban?
Igen, a jelszóval védett dokumentumokban is kereshet digitális aláírásokat, ha megadja a jelszót az inicializáláskor. Signature
objektum:
LoadOptions loadOptions = new LoadOptions() { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// Digitális aláírások keresése
}
Hogyan tudom ellenőrizni, hogy egy digitális aláírást egy adott személy készített-e?
A tanúsítvány tulajdonosának nevét és egyéb tulajdonságait megvizsgálva ellenőrizheti az aláíró személyazonosságát:
foreach (var signature in signatures)
{
if (signature.Certificate?.SubjectName?.Contains("John Doe") == true)
{
Console.WriteLine("Found signature by John Doe");
}
}
Ki tudom nyerni a nyilvános kulcsot egy digitális aláírási tanúsítványból?
Igen, a nyilvános kulcs adatait a tanúsítvány tulajdonságain keresztül érheti el:
if (signature.Certificate != null)
{
// Hozzáférés a nyilvános kulcs információihoz
Console.WriteLine($"Public Key: {signature.Certificate.GetPublicKeyString()}");
}