Protégez et signez vos documents PDF
Java | C# | .NET Core | nuget | C/C++ | COM | Ligne de commande | Dossiers surveillés
Le module 3-Heights™ PDF Security offre des fonctions étendues dans deux secteurs indépendants mais combinables : la signature électronique et le cryptage de données.
La décision d'utiliser 3-Heights™ PDF Security a été prise en fonction de la gamme fonctionnelle du produit, de sa capacité d'intégration dans les applications et l'infrastructure informatique de Mobiliar, ainsi que des tests fonctionnels et de performance prometteurs.
L'utilisation de PDF 3-Heights™ Security nous aide grandement à garantir la sécurité des données. Une interface de données stable était également indispensable à cet effet. En outre, les performances répondent à nos attentes et la flexibilité de la solution permet à 3-Heights™ PDF Security de se distinguer des autres solutions du marché.
Appliquer des signatures électroniques simples, avancées et qualifiées
Extraire les signatures numériques
Chiffrer et décrypter les documents PDF
Estampage
Définir les métadonnées des documents
Optimiser pour le web (linéariser)
Lire ou écrire un document à partir d'un fichier, d'une mémoire ou d'un flux
Formats d'entrée
Formats de sortie
Étapes de préparation
par exemple:
Application de la signature
par exemple:
Appliquer la signature en remplissant les renseignements suivants:
Add a digital signature to a PDF document. Use the DigiCert-QuoVadis sealsign service to create the signature. Set different mandatory properties such as the account ID, the password to access the account, the client ID and the PIN code to activate the signing key.
// Create secure object
using (Secure secure = new Secure())
{
// Open input file
if (!secure.Open(inputPath, ""))
throw new Exception(String.Format("Input file {0} cannot be opened. " +
"{1} (ErrorCode: 0x{2:x}).", inputPath, secure.ErrorMessage, secure.ErrorCode));
// Required: unique name of the accountspecified on the server.
secure.SetSessionPropertyString("Identity", "Rigora");
// Required: identifies the signature specifications by a unique name.
secure.SetSessionPropertyString("Profile", "Default");
// Required: password which secures the access to the account.
secure.SetSessionPropertyString("secret", "NeE=EKEd33FeCk70");
// Required: helps to separate access and to create better statistics.
secure.SetSessionPropertyString("clientId", "3949-4929-3179-2818");
// Required: activates the signing key.
secure.SetSessionPropertyString("pin", "123456");
// Optional: default value "SHA-256"
secure.SetSessionPropertyString("MessageDigestAlgorithm", "SHA-256");
// Begin session using DigiCert-QuoVadis Sealsign (demo version)
if (!secure.BeginSession(@"https://services.sealsignportal.com/sealsign/ws/BrokerClient"))
throw new Exception(String.Format("Unable to establish connection to DigiCert-QuoVadis Sealsign. " +
"{0} (ErrorCode: 0x{1:x}).", secure.ErrorMessage, secure.ErrorCode));
// Add signature
using (Signature signature = new Signature())
{
// Required, name of the signer
signature.Name = "Rigora";
secure.AddSignature(signature);
}
// Sign document
if (!secure.SaveAs(outputPath, "", "", PDFPermission.ePermNoEncryption, 0, "", ""))
throw new Exception(String.Format("Unable to sign document {0}. {1} (ErrorCode: 0x{2:x}).",
outputPath, secure.ErrorMessage, secure.ErrorCode));
// Cleanup
secure.Close();
secure.EndSession();
}
// Create secure object
secure = new Secure();
// Open input file
if (!secure.open(inputPath, ""))
throw new IOException(String.format("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).",
inputPath, secure.getErrorMessage(), secure.getErrorCode()));
// Required: unique name of the account specified on the server.
secure.setSessionPropertyString("Identity", "Rigora");
// Required: identifies the signature specifications by a unique name.
secure.setSessionPropertyString("Profile", "Default");
// Required: password which secures the access to the account.
secure.setSessionPropertyString("secret", "NeE=EKEd33FeCk70");
// Required: helps to separate access and to create better statistics.
secure.setSessionPropertyString("clientId", "3949-4929-3179-2818");
// Required: activates the signing key.
secure.setSessionPropertyString("pin", "123456");
// Optional: default value "SHA-256"
secure.setSessionPropertyString("MessageDigestAlgorithm", "SHA-256");
// Begin session using DigiCert-QuoVadis Sealsign (demo version)
if (!secure.beginSession("https://services.sealsignportal.com/sealsign/ws/BrokerClient"))
throw new IOException(String.format("Unable to establish connection to DigiCert-QuoVadis Sealsign. " +
"%s (ErrorCode: 0x%08x).", secure.getErrorMessage(), secure.getErrorCode()));
// Add signature
signature = new Signature();
// Required, name of the signer
signature.setName("Rigora");
secure.addSignature(signature);
// Sign document
if (!secure.saveAs(outputPath, "", "", NativeLibrary.PERMISSION.ePermNoEncryption, 0, "", ""))
throw new IOException(String.format("Unable to sign document %s. %s (ErrorCode: 0x%08x).",
outputPath, secure.getErrorMessage(), secure.getErrorCode()));
// Cleanup
secure.close();
secure.endSession();
// Create secure object
pSecure = PdfSecureCreateObject();
// Open input file
if (!PdfSecureOpen(pSecure, szInputPath, _T("")))
{
_tprintf(_T("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).\n"), szInputPath, PdfSecureGetErrorMessage(pSecure), PdfSecureGetErrorCode(pSecure));
iReturnValue = 1;
goto cleanup;
}
// Required: unique name of the accountspecified on the server.
PdfSecureSetSessionPropertyString(pSecure, _T("Identity"), _T("Rigora"));
// Required: identifies the signature specifications by a unique name.
PdfSecureSetSessionPropertyString(pSecure, _T("Profile"), _T("Default"));
// Required: password which secures the access to the account.
PdfSecureSetSessionPropertyString(pSecure, _T("secret"), _T("NeE=EKEd33FeCk70"));
// Required: helps to separate access and to create better statistics.
PdfSecureSetSessionPropertyString(pSecure, _T("clientId"), _T("3949-4929-3179-2818"));
// Required: activates the signing key.
PdfSecureSetSessionPropertyString(pSecure, _T("pin"), _T("123456"));
// Optional: default value "SHA-256"
PdfSecureSetSessionPropertyString(pSecure, _T("MessageDigestAlgorithm"), _T("SHA-256"));
// Begin session using DigiCert-QuoVadis Sealsign (demo version)
if (!PdfSecureBeginSession(pSecure, _T("https://services.sealsignportal.com/sealsign/ws/BrokerClient")))
{
_tprintf(_T("Unable to connect to DigiCert-QuoVadis Sealsign. %s (ErrorCode: 0x%08x).\n"), PdfSecureGetErrorMessage(pSecure), PdfSecureGetErrorCode(pSecure));
iReturnValue = 1;
goto cleanup;
}
// Create signature object
pSignature = PdfSignatureCreateObject();
// Add signature
// Required, name of the signer
PdfSignatureSetName(pSignature, _T("Rigora"));
PdfSecureAddSignature(pSecure, pSignature);
// Sign document
if (!PdfSecureSaveAs(pSecure, szOutputPath, _T(""), _T(""), ePermNoEncryption, 0, _T(""), _T("")))
{
_tprintf(_T("Unable to sign document %s. %s (ErrorCode: 0x%08x).\n"), szOutputPath, PdfSecureGetErrorMessage(pSecure), PdfSecureGetErrorCode(pSecure));
iReturnValue = 1;
goto cleanup;
}
// Cleanup
PdfSecureClose(pSecure);
PdfSecureEndSession(pSecure);
L’apposition d’une signature électronique assure l’authenticité et l’intégrité du document, qui constituent des exigences importantes dans l’échange électronique de données. Selon le pays et la nature de la signature, une signature électronique a la même valeur qu’une signature manuelle. La signature électronique présente des avantages quant à la vitesse, la sécurité et le degré d’automatisation de la correspondance commerciale.
Avec le module 3-Heights™ PDF Security, différents types de signatures électroniques peuvent être apposés (simple, avancée, qualifiée). Les avantages de ce module sont la conformité PDF/A, l’incorporation d’informations sur la validité des certificats (OCSP, CRL), les estampilles temporelles et la liaison avec des appareils de signature électronique (HSM) pour les applications de signatures de masse. Les signatures peuvent être vérifiées avec le module pour contrôler leur intégrité.
Les documents PDF utilisés dans les entreprises contiennent des informations qui doivent être protégées contre l’accès non autorisé et les modifications involontaires. A cette fin les documents PDF sont cryptés et dotés de droits d’utilisateurs.
L’expression « signature numérique » est employée dans le domaine juridique et peut être assimilée à une signature manuelle.
En revanche une « signature électronique » désigne l’implémentation technique d’une signature.
Il existe en outre des différences spécifiques aux pays quant à l’interprétation de ces termes.
Il existe différents types de signatures :
Les processus où de très nombreux documents doivent être signés ou si les signataires se trouvent à différents endroits, peuvent prendre plusieurs jours. A l’aide des signatures numériques, ce laps de temps peut être grandement réduit.
Contrairement à une signature manuelle, une signature numérique est valable non seulement juridiquement, mais elle offre en plus la possibilité de vérifier moyennant un programme l’authenticité, l’intégrité et la date et heure de la signature du document.
Dans certains processus, des directives sont applicables quant aux modalités d’échange des documents. Selon le pays (p.ex. en Suisse et en Allemagne), une signature électronique qualifiée est équivalente à une signature manuelle.