Guide d’intégration du cachet serveur Universign

Documentation standard

Méthodes d’accès

Universign offre deux options d’accès à son service de cachet serveur :

  • Une API basée sur le protocole XML-RPC
  • une API simple basée sur un envoi de formulaire HTTP avec une requête POST facilement intégrable dans n’importe quel environnement de production.
Paramètres d’authentification
Sécurité SSL
Mode d’authentification HTTP basic authentication
Identifiants email et mot de passe

Le certificat et la clé utilisés pour signer sont liés au profile de signature par défaut. Si vous souhaitez utiliser d’autres couples clé/certificat, créez de nouveaux profiles de signature en envoyant vos couples clé/certificat.

Accès suivant le procotole XML-RPC
URL https://ws.universign.eu/sign/rpc
Service signer
Méthode sign()
Paramètre le document PDF à signer
Retour le document signé
Accès avec l’envoi d’un formulaire HTTP par requête POST

URL: https://ws.universign.eu/sign/post/
Paramètres du formulaire encodés selon le mime-type ’application/multipart-form-data’ :

file le document à signer

Le serveur renvoie le fichier signé.

Quelques exemples de code
En Python
        import xmlrpclib;

        if __name__ == "__main__":
            pdfDocument = xmlrpclib.Binary(open("myDoc.pdf").read())

            proxy = xmlrpclib.ServerProxy("https://me@myCompany.com:myPwd@ws.universign.eu/sign/rpc")
            signedPdfDocument = proxy.signer.sign(pdfDocument)
            f = open("mySignedDoc.pdf", "w+")
            f.write(signedPdfDocument.data)
            f.close()
      

Si vous avez des doutes ou des questions, n’hésitez pas à nous contacter.


Documentation avancée

URL https://ws.universign.eu/sign/rpc
Service signer
Méthode signWithOptions()
Paramètre 1 le document PDF à signer
Paramètre 2 les options de signature
Retour le document signé

Les options de signature sont regroupés sous la forme d’un bean composé des membres suivant :

  • profile
  • signatureField
  • reason
  • location
  • signatureFormat
profile

Un profil de signature désigne un certificat et une clé privée utilisés pour signer un document. Les profiles sont désignés par un nom symbolique, choisi par l’utilisateur ou bien généré automatiquement.

Lors du premier envoi de clé privée, un profil de signature par défaut nommé default est créé. Il est possible par la suite d’ajouter d’autres certificats et clés privées, qui seront liés à autant de profile de signature.

signatureField

Description visuelle de la signature. Cette option permet de spécifier la représentation visuelle de la signature dans le document signé (image, texte, etc.). Si cette option est absente, la signature sera invisible.

reason

La raison de la signature du document.

location

La localisation du signataire.

signatureFormat

Le format de la signature. Les valeurs possibles sont :

  • PADES : La signature respecte le format ETSI TS 102 778-3 PAdES Part 3: PAdES Enhanced - PAdES-BES.
  • PADES-COMP : La signature respecte le format ISO 32000-1 avec l’attribut signing certificate. Ce format est compatible avec PAdES (même sémantique que PAdES avec le format ISO 32000-1).
  • ISO-32000-1 : La valeur par défaut. La signature respecte le format ETSI TS 102 778-2 PAdES Part 2: CMS Profile based on ISO 32000-1.

Support et aide Universign

Le service de signature Universign, disponible 24h/24 et 7j/7, est limité à une signature par seconde.

Si une erreur survient lors du processus de signature, votre compte Universign ne sera pas débité.

Lorsqu’une requête échoue, Universign indique un code d’erreur qui vous permet de comprendre et de résoudre le problème rencontré.

  • 73002 - une erreur est survenue pendant l’opération de signature.
  • 73003 - une erreur est survenue pendant la lecture de votre certificat.
  • 73010 - l’authentification a échoué.
  • 73011 - aucun compte disponible.
  • 73024 - le fichier est illisible.

Ce code et un message d’erreur sont retournés sous la forme d’une exception en XML-RPC, ou sous forme de texte en HTTP.

Lors d’une requête POST, différents codes de réponse HTTP peuvent être renvoyés :

  • 400 - requête malformée ou option non supportée.
  • 401 - problème d’authentification : utilisateur inconnu ou mot de passe incorrect.
  • 403 - problème sur le compte : plus de sceau ou pack expiré.
  • 404 - ressource non trouvée, ceci est probablement dû à une erreur d’URL.
  • 500 - erreur interne au service Universign. Veuillez réessayer plus tard ou contacter le service support.