Turvallisuus ja allekirjoitukset
Turvallisuus ja allekirjoitukset
Aspose.PDF FOSS for .NET tukee PDF-digitaalisia allekirjoituksia, varmenteisiin perustuvaa salausta ja mukautettuja turvallisuusohjaimia. Käytä PdfSigner allekirjoitustyönkulkujen ja PdfCertificate varmennehallinnan varten.
Asiakirjan allekirjoittaminen
PdfSigner lisää digitaalisen allekirjoituksen PDF-tiedostoon käyttäen PFX-varmennetta.
var cert = PdfCertificate.FromPfx("certificate.pfx", "password");
var signer = new PdfSigner();
signer.Sign(doc, cert);
doc.Save("signed.pdf");Allekirjoitusten tarkistaminen
var signer = new PdfSigner();
bool valid = signer.Verify(doc);
Console.WriteLine($"Signature valid: {valid}");Allekirjoittaminen visuaalisen ulkoasun avulla
signer.SignWithAppearance(doc, cert, signatureField, appearance);Sertifikaattien hallinta
PdfCertificate lataa varmenteita PFX‑tiedostoista tai DER‑koodatuista tiedostoista.
// From PFX
var cert = PdfCertificate.FromPfx("cert.pfx", "password");
// From DER files (certificate + key)
var cert2 = PdfCertificate.FromDerFiles("cert.der", "key.der");Sertifikaattiin perustuva salaus
CertificateEncryptionOptions salaa PDF:n niin, että vain määritellyt sertifikaatin haltijat voivat avata sen.
var options = new CertificateEncryptionOptions(cert);Mukautetut turvallisuuskäsittelijät
Toteuta ICustomSecurityHandler mukautettua salaus- ja salauksenpurkuilogikkaa.
public class MyHandler : ICustomSecurityHandler
{
public void Initialize(EncryptionParameters parameters) { }
public byte[] CalculateEncryptionKey() { /* ... */ return Array.Empty<byte>(); }
public byte[] GetUserKey() { /* ... */ return Array.Empty<byte>(); }
public byte[] GetOwnerKey() { /* ... */ return Array.Empty<byte>(); }
public bool IsOwnerPassword(string password) { /* ... */ return false; }
public bool IsUserPassword(string password) { /* ... */ return false; }
}Allekirjoitusalgoritmin tiedot
SignatureAlgorithmInfo kuvaa olemassa olevassa allekirjoituksessa käytetyn algoritmin.
var info = new SignatureAlgorithmInfo("SHA256withRSA");
Console.WriteLine(info.ToString());Vinkkejä ja parhaita käytäntöjä
- Allekirjoita asiakirjat aina viimeisenä askeleena — kaikki muokkaus allekirjoituksen jälkeen mitätöi allekirjoituksen.
- Käytä PFX-tiedostoja vahvoilla salasanoilla varmenteiden tallentamiseen.
- Vahvista allekirjoitukset asiakirjan lataamisen jälkeen havaitaksesi manipuloinnin.
- Varmenteeseen perustuva salaus vaatii vastaanottajan julkisen avaimen varmenteen.
- Ota
ICustomSecurityHandlerkäyttöön vain, kun tavallinen salaus ei riitä.
Yleiset ongelmat
| Ongelma | Syy | Korjaus |
|---|---|---|
| Allekirjoitus näyttää virheelliseltä | Asiakirjaa muokattu allekirjoituksen jälkeen | Allekirjoita uudelleen, kun kaikki muutokset on tehty |
| PFX:n lataus epäonnistuu | Väärä salasana tai vioittunut tiedosto | Tarkista salasana ja tiedoston eheys |
| Salaus estää avaamisen | Omistajan salasanaa ei ole annettu | Käytä oikeaa omistajan tai käyttäjän salasanaa |
UKK
Mitä allekirjoitusalgoritmeja tuetaan?
RSA:ta SHA-256:n, SHA-384:n ja SHA-512:n kanssa tuetaan yleisesti. Käytettävissä olevat algoritmit riippuvat varmenteen avaintyypistä.
Voinko lisätä useita allekirjoituksia?
Kyllä. Jokainen allekirjoitus lisätään erilliseen allekirjoituskenttään asiakirjassa.
Vaatiiko allekirjoittaminen kaupallisen varmenteen?
Ei. Itse allekirjoitetut varmenteet toimivat testauksessa. Tuotannossa, käytä yksi varmenne luotettavalta CA:lta.
API-viitteiden yhteenveto
| Class / Method | Description |
|---|---|
PdfSigner | Allekirjoita ja tarkista PDF-asiakirjoja |
PdfSigner.Sign | Lisää digitaalinen allekirjoitus |
PdfSigner.Verify | Tarkista allekirjoituksen kelpoisuus |
PdfSigner.SignWithAppearance | Allekirjoita visuaalisella allekirjoituskentällä |
PdfCertificate | Sertifikaatin lataaja PFX- ja DER-muodoille |
PdfCertificate.FromPfx | Lataa PFX-tiedostosta salasanalla |
PdfCertificate.FromDerFiles | Lataa DER-koodatuista tiedostoista |
CertificateEncryptionOptions | Sertifikaattiin perustuva PDF-salaus |
ICustomSecurityHandler | Rajapinta mukautetulle salaukselle/purulle |
EncryptionParameters | Mukautetuille turvallisuuskäsittelijöille välitetyt parametrit |
SignatureAlgorithmInfo | Metatiedot allekirjoituksen algoritmista |