Digitális aláírások

Digitális aláírások

Aspose.Words FOSS for .NET képes ellenőrizni és hitelesíteni a már csatolt digitális aláírásokat egy .docx dokumentumon keresztül a Aspose.Words.DigitalSignatures névtéren. Ez a kiadás lefedi az aláírást verification — az aláírás metaadatainak olvasása, a érvényesség ellenőrzése és az aláíró tanúsítvány vizsgálata. Nem tartalmazza az új aláírások létrehozásának lehetőségét egy dokumentumban.


Aláírások olvasása egy dokumentumból

Minden Document egy DigitalSignatures tulajdonságot biztosít, amely egy DigitalSignatureCollection értéket ad vissza — egy csak olvasható, felsorolható gyűjteményt a betöltött fájlban már meglévő DigitalSignature objektumokról. A DigitalSignatureUtil.LoadSignatures(fileName) (és a LoadSignatures(stream) túlterhelés) közvetlenül fájlból vagy adatfolyamból olvassa be az aláírásokat anélkül, hogy a teljes dokumentumot egy Document objektumba töltené be, ami akkor hasznos, ha csak az aláírás állapotát kell ellenőrizni. A gyűjtemény IsValid tulajdonsága jelzi, hogy a benne lévő összes aláírás érvényes-e, a Count pedig azt, hogy hány aláírást találtak.


Egyedi aláírás vizsgálata

Minden DigitalSignature a következőket teszi elérhetővé: IsValid (az aláírás kriptográfiai érvényessége), SignatureType (egy DigitalSignatureType érték — CryptoApi, XmlDsig vagy Unknown), SignTime, Comments, SubjectName, IssuerName, valamint a nyers SignatureValue bájtok. A CertificateHolder tulajdonság egy CertificateHolder objektumot ad vissza, amely az aláíró tanúsítványt becsomagolja; annak Certificate tulajdonsága a mögöttes X509Certificate2 értéket teszi hozzáférhetővé, így a .NET saját tanúsítvány API-jaival vizsgálhatja a szabványos tanúsítványmezőket (kiállító, alany, érvényességi időszak).


Mi nem támogatott ebben a kiadásban

A API felület továbbra is deklarál aláírással kapcsolatos tagokat — DigitalSignatureUtil.Sign(), SignOptions, és XmlDsigLevel — a kereskedelmi Aspose.Words for .NET objektummodell struktúrájának kompatibilitása érdekében, de új digitális aláírás létrehozása egy dokumentumban nem működik ebben a FOSS kiadásban. Használd ezt a kiadást a verify már meglévő aláírások dokumentumban; egy aláírási munkafolyamat megköveteli Aspose.Words a(z) .NET számára.


Tippek és legjobb gyakorlatok

  • Előnyben részesítse a DigitalSignatureUtil.LoadSignatures() használatát a teljes Document megnyitása helyett, ha csak annak ellenőrzése szükséges, hogy egy fájl alá van-e írva — ez elkerüli a teljes dokumentumtörzs feldolgozásának költségét.
  • Először ellenőrizze a DigitalSignatureCollection.IsValid értéket a gyors siker/sikertelenség meghatározásához, mielőtt egyenként iterálná a DigitalSignature.IsValid értékeket.
  • A SignatureType megmutatja, hogy melyik aláírási mechanizmus hozta létre az aláírást (CryptoApi vs. XmlDsig); ez befolyásolja, hogy mely tanúsítványmezők relevánsak.
  • Kezelje a IsValid == false értéket szigorú hibaként minden automatizált dokumentumfelvételi folyamatban — ne mutassa meg az aláírás metaadatait egy érvénytelen aláírásból megbízhatóként.

Gyakori problémák

ProblémaOkaJavítás
DigitalSignatures.Count 0 egy aláírt .docx eseténA fájlt egy eszköz mentette újra, amely eltávolította az aláírási résztEllenőrizze az eredeti aláírt fájl alapján, ne egy újra elmentett másolatot
Az aláírás jelentése IsValid = falseA dokumentum tartalma a aláírás után megváltozott, vagy a tanúsítvány nem megbízható/lejártÉrvénytelennek tekintse; ne próbálja meg "repair" az aláírást
A dokumentum aláírásának kísérlete nem jár eredménnyelAz aláírás nincs megvalósítva ebben a FOSS kiadásbanHasználja a Aspose.Words-t a .NET (kereskedelmi) aláírási munkafolyamatokhoz
CertificateHolder.Certificate kivételt dob a vizsgálat soránAz alaptanúsítvány adatai hibásak, vagy az aláírás része sérültErősítse meg, hogy a forrásfájl egy eredeti, módosítatlan aláírt dokumentum

FAQ

Aláírhat a Aspose.Words FOSS a .NET dokumentumot?

Nem. Ez a kiadás képes ellenőrizni a meglévő digitális aláírásokat, de nem tud újakat létrehozni. A DigitalSignatureUtil.Sign() metódus és a SignOptions osztály a API felületén létezik strukturális kompatibilitás céljából, de az aláírás itt nem működik.

Hogyan ellenőrizhetem, hogy egy dokumentum alá van-e írva anélkül, hogy teljesen betölteném?

Hívja meg a DigitalSignatureUtil.LoadSignatures(fileName) függvényt, amely közvetlenül a fájlból visszaad egy DigitalSignatureCollection értéket.

Mit jelent a DigitalSignatureCollection.IsValid?

Ez true csak akkor, ha a gyűjteményben lévő minden aláírás egyenként érvényes — egy gyors módja a dokumentum aláírási integritásának ellenőrzésére, mielőtt minden DigitalSignature részletet megvizsgálnánk.

Hol találom meg az aláírás tanúsítványának részleteit?

A DigitalSignature.CertificateHolder.Certificate segítségével, amely egy szabványos .NET X509Certificate2 értéket ad vissza.


API Reference Összefoglaló

Osztály / MetódusLeírás
Document.DigitalSignaturesAláírások, amelyek már csatolva vannak a betöltött dokumentumhoz
DigitalSignatureUtil.LoadSignatures()Aláírások beolvasása fájlból vagy adatfolyamból a teljes dokumentum betöltése nélkül
DigitalSignatureCollectionCsak olvasható gyűjtemény a(z) DigitalSignature objektumokból; IsValid, Count
DigitalSignatureEgyetlen aláírás: IsValid, SignTime, SubjectName, IssuerName, CertificateHolder
DigitalSignatureTypeEnum: CryptoApi, XmlDsig, Unknown
CertificateHolderBecsomagolja a signing X509Certificate2

Lásd még:

 Magyar