dev.trustservices.swisscom.com
Open in
urlscan Pro
194.209.222.161
Public Scan
URL:
https://dev.trustservices.swisscom.com/
Submission: On July 04 via automatic, source certstream-suspicious — Scanned from CH
Submission: On July 04 via automatic, source certstream-suspicious — Scanned from CH
Form analysis
0 forms found in the DOMText Content
Contact experts * Introduction * Get Started * Documentation * GitHub Repositories * Learn & Use the APIs * APIs Overview * Postman Samples * Client Libraries * Types of Signatures * On-Demand Signatures * Static Signatures * Trusted Timestamps * AIS API Definition * postrequestSignature * postpollSignatureStatus API docs by Redocly SWISSCOM TRUST SERVICES DEV HUB (V1.1) Download OpenAPI specification:Download E-mail: paul.muntean@swisscom.com License: Swisscom License Terms of Service INTRODUCTION Welcome to the Development Hub for the Swisscom Trust Services APIs. This website provides the resources we have available to help you get started in using the APIs that Swisscom provide for: * Smart Registration Service * Registration Authority Service * All-In Signing (AIS) Service. On this site you can find: * links to main reference guides and API definitions * useful Github repositories that we develop as open source libraries to help users integrate our services * Postman samples/collections to quickly test our APIs and get a feeling of how they work * Complete API documentation of the All-In Signing Service (Redocly documentation) GET STARTED Here are the steps to help you get started using our services: 1. Have a look at the Service Overview Guide (PDF) to understand how our services work together and what API you need to use 2. Check the All-In Signing Service Reference Guide (PDF) to familiarize yourself with our main signing API. This API allows you to create user signatures around digital documents and create qualified electronic signatures 3. Check the Github repositories from the Swisscom Trust Services space. While you can use any library you like for accessing our APIs, we provide production-level client libraries to help with the integration in your projects. DOCUMENTATION We provide the following materials for reference: * Main collection of documents for Swisscom Trust Services * Service Overview Guide (PDF) * All-In Signing Service API Reference Guide (PDF) * Smart Registration Service Integration Guide (PDF) * iFrame integration guide for the Password/OTP application * How to implement the PAdES standard and Long Term Validation signatures * Smart Registration Service API (Swagger definition) * Registration Authority Service API (Swagger definition) GITHUB REPOSITORIES We provide several open source libraries and projects to help you get stated quickly using the All-In Signing Service. Here is a list of repositories on GitHub that could come handy when using the service: * pdfbox-ais - All-In Signing Service client library for Java, implemented using the Apache PDFBox library. Both this client and PDFBox are licensed with Apache License 2.0, so you can use them commercially in your project free of charge. * itext7-ais - Service client library for Java, implemented using the iText 7 library. The client is Apache License 2.0 but, in order to use it commercially, you need an iText license. * itext-dotnet-ais - Service client library for .NET, implemented using the iText for .NET library. Similar to itext7-ais above, the client is Apache License 2.0 but, to use it commercially, you need an iText license. * AIS-postman-samples - A collection of Postman samples ready to import in the tool and call against the All-In Signing Service API. Please see the section Postman Samples down below for more information on how to use them. LEARN & USE THE APIS APIS OVERVIEW SWISSCOM REGISTRATION AUTHORITY SERVICE API (RA SERVICE) The Registration Authority Service (RA Service) has implemented the following business functions: * Encrypted storage of ID document metadata (according to legal regulation on electronic signatures), ID document images, and linked authenticator identifiers (MSISDN, Mobile ID Serial Number or PWD/OTP Serial Number) of the ID document holder * Encrypted storage of the evidences of the ID registration process (vetter's data and signature, ID document, signed user consent) * User Consent flow in the ID registration process * RESTful API for verifying user metadata, the linked MSISDN, and the compliance level of ID registration process for digital signature purpose * RESTful API for authentication of privileged users with Mobile ID * RESTful API for importing ID document metadata, ID document images, MSISDN and ID registration evidences for digital signature in the banking context SMART REGISTRATION SERVICE (SRS) Our Smart Registration Service (SRS) offers various identification procedures. If you would like to sign documents with a qualified electronic signature, you need to identify yourself. Currently, we offer various identification methods, which are valid according to EU and Swiss law. As a Service Provider you need to offer to the end user the ability to identify themselves for the All-in Signing Service. This API provides the ability to choose an identification method for end users if they are not already able to sign. After the successful identification process the user is able to sign. Please note that, in order to get access to this API in Production, you have to use the OAuth 2.0 Client Credentials Grant See Client Credentials Grant in RFC 6479. The Client Credentials grant type is used by clients to obtain an access token outside of the context of a user. ALL-IN SIGNING SERVICE (AIS) The All-In Signing Service (AIS) is a server-based remote signature service. It enables signatories to electronically sign digital files and thus ensure the integrity and authenticity of a file. The qualified trust service of Swisscom creates and manages the signature certificate for the signatories as a fiduciary and makes it available to the remote signature service via an encrypted channel. Apart from a subscriber application for the sending and receipt of the signed document, the signatory does not require any other operating equipment, such as tokens or signature cards. POSTMAN SAMPLES Before integrating the Trust Services APIs in your project, you can have a look at the APIs and test them a bit, to get a feeling of how they work what a request-response roundtrip looks like. For this we provide a set of Postman collections that you can download, import in your installation of Postman and then call the Trust Services APIs. The Postman collections are available on Github: https://github.com/SwisscomTrustServices/AIS-Postman-Samples For setting up Postman and importing the collections, here is a video with detailed step by step instructions: CLIENT LIBRARIES All the APIs that we provide are REST-based APIs that can be accessed/consumed using the available tools and client libraries that you have for the language and platform of your choice. To help with the integration of our APIs in client projects, we also provide custom libraries that ease up the accessing of the interface by creating an additional layer over the interface and providing customized functions for the main scenarios that can run on the interface. All our libraries are open source, available on Github and licensed under Apache License 2.0. For the All-In Signing Service API we provide the following libraries: * Java client library using Apache PDFBox * This library helps with creating digital signatures for PDF documents and embedding the signature and the additional CRL and OCSP data (for long term validation) in the document. It uses the Apache PDFBox library, which is licensed under Apache License 2.0. * Learn how to use in code or as a tool * Download now * Use in Maven or Gradle * Java client library using iText 7 * This library helps with creating digital signatures for PDF documents and embedding the signature and the additional CRL and OCSP data (for long term validation) in the document. It uses the iText library, version 7, which is licensed under GPL for open source client projects or with a custom paid license for commercial use. * Learn how to use in code or as a tool * Download now * Use in Maven or Gradle * .NET client library using iText 7 * This library helps with creating digital signatures for PDF documents and embedding the signature and the additional CRL and OCSP data (for long term validation) in the document. It uses the .NET version of the iText library, version 7, which is licensed under GPL for open source client projects or with a custom paid license for commercial use. * Learn how to use in code or as a tool * Download now * Use in Maven or Gradle TYPES OF SIGNATURES The All-In Signing Service allows the acquisition of digital signatures around hashes of documents. There are 3 types of signatures available, explained and exemplified in the next sections. ON-DEMAND SIGNATURES On-Demand signatures are performed with certificates that are context-based issued and that contain the end user information collected at the customer’s service side itself. The collected information can be set as attributes in the Distinguished Name (DN) of the short-lived certificate. Before issuing the certificate and using it only for one request, a declaration of will by the signer is enforced. On-Demand certificates and signatures are well suited for signing documents interactively/online such as contracts, medical assessments, construction permits, tax declarations, etc. Here is a REST exchange for performing an On-Demand signature: { "SignRequest": { "@Profile": "http://ais.swisscom.ch/1.1", "@RequestID": "ID-b0b35bee-2694-46d8-bc60-45d2a807a598", "InputDocuments": { "DocumentHash": [ { "@ID": "DOC-38b97ff6-7b32-4150-9813-a5fb33a57299", "dsig.DigestMethod": { "@Algorithm": "http://www.w3.org/2001/04/xmlenc#sha512" }, "dsig.DigestValue": "Ack78UyNjqUBdNhFhiAa3dkxrL6h7KYGFwh+L3WAILbsMWdr13PI1nF3H2mA7U7Wgk+4dRbOUpZOBxg6rBnjoQ==" } ] }, "OptionalInputs": { "AddTimestamp": { "@Type": "urn:ietf:rfc:3161" }, "AdditionalProfile": [ "http://ais.swisscom.ch/1.0/profiles/ondemandcertificate", "http://ais.swisscom.ch/1.1/profiles/redirect", "urn:oasis:names:tc:dss:1.0:profiles:asynchronousprocessing" ], "ClaimedIdentity": { "Name": "ais-90days-trial:OnDemand-Advanced" }, "SignatureType": "urn:ietf:rfc:3369", "sc.AddRevocationInformation": { "@Type": "PAdES-Baseline" }, "sc.SignatureStandard": "PAdES-baseline", "sc.CertificateRequest": { "sc.DistinguishedName": "cn=TEST User, givenname=User, surname=FamilyName, c=CH, serialnumber=afe1ccfa4aa229a960c25da8271b210f7c8670f2", "sc.StepUpAuthorisation": { "sc.Phone": { "sc.Language": "en", "sc.MSISDN": "40712345678", "sc.Message": "Please confirm the signing of the document" } } } } } } and, after a few pollings: { "SignResponse": { "@Profile": "http://ais.swisscom.ch/1.1", "@RequestID": "ID-b0b35bee-2694-46d8-bc60-45d2a807a598", "OptionalOutputs": { "sc.APTransID": "ID-694815be-ad7a-4c51-bed3-a121dcefc0fb", "sc.RevocationInformation": { "sc.CRLs": { "sc.CRL": [ "MIIEUjC...", "MIIGwzC..." ] }, "sc.OCSPs": { "sc.OCSP": [ "MIIJMgo...", "MIIInQo..." ] } }, "sc.StepUpAuthorisationInfo": { "sc.Result": { "sc.SerialNumber": "SAS0118bupd4ffzyk" } } }, "Result": { "ResultMajor": "urn:oasis:names:tc:dss:1.0:resultmajor:Success" }, "SignatureObject": { "Base64Signature": { "$": "MII2yQ...", "@Type": "urn:ietf:rfc:3369" } } } } The resulting signature needs to be embedded in the original PDF, to get the signed document. Here is a sample document signed with an on-demand signature (best viewed in Adobe Acrobat Reader or other local PDF viewer that can display the signatures of the document). View sample document STATIC SIGNATURES Static signatures are performed using certificates that are standard ones proposed and issued by any official Certificate Authority (CA) for the customer and are securely hosted at the AIS on its Hardware Security Module (HSM). After the certificate’s registration process, the corresponding customer can address and use it in a secure and exclusive manner. Static certificates and signatures are well suited for any organization planning to sign many documents in its name in an automated manner, for example invoices, account listings, archives of documents. Here is a REST exchange for performing an Static signature: { "SignRequest": { "@Profile": "http://ais.swisscom.ch/1.1", "@RequestID": "ID-0ca48d0e-41bb-4025-83f7-a09952bf7647", "InputDocuments": { "DocumentHash": [ { "@ID": "DOC-f76b3717-1511-4cfa-8446-ebe2a5b6eabd", "dsig.DigestMethod": { "@Algorithm": "http://www.w3.org/2001/04/xmlenc#sha512" }, "dsig.DigestValue": "IMwxKxjAR+Jun6A9tT1vuk0BPeP6YfNoDm+ETenjqjnDQj0v9x4K+DHPkeV8GfpaxFO4uxfoJziVDND9H5g/gw==" } ] }, "OptionalInputs": { "AddTimestamp": { "@Type": "urn:ietf:rfc:3161" }, "AdditionalProfile": [], "ClaimedIdentity": { "Name": "ais-90days-trial:static-saphir4-eu" }, "SignatureType": "urn:ietf:rfc:3369", "sc.AddRevocationInformation": { "@Type": "PAdES-Baseline" }, "sc.SignatureStandard": "PAdES-baseline" } } } and the response: { "SignResponse": { "@Profile": "http://ais.swisscom.ch/1.1", "@RequestID": "ID-0ca48d0e-41bb-4025-83f7-a09952bf7647", "OptionalOutputs": { "sc.RevocationInformation": { "sc.CRLs": { "sc.CRL": [ "MIIEUjC...", "MIIGwzC..." ] }, "sc.OCSPs": { "sc.OCSP": [ "MIIJMgo...", "MIIInQo..." ] } } }, "Result": { "ResultMajor": "urn:oasis:names:tc:dss:1.0:resultmajor:Success" }, "SignatureObject": { "Base64Signature": { "$": "MII2CAY...", "@Type": "urn:ietf:rfc:3369" } } } } The resulting signature needs to be embedded in the original PDF, to get the signed document. Here is a sample document signed with a static signature (best viewed in Adobe Acrobat Reader or other local PDF viewer that can display the signatures of the document). View sample document TRUSTED TIMESTAMPS Trusted Timestamps applied to the hash values as signatures by AIS are qualified timestamps provided by a trusted third party Time Stamp Authority ( TSA), according to the RFC3161 standard. Timestamp signatures are used to prove the existence of certain data at a certain point in time without a person or an organization behind them. This kind of signature is well suited for system transactions and log files. Here is a REST exchange for performing an timestamp signature: { "SignRequest": { "@Profile": "http://ais.swisscom.ch/1.1", "@RequestID": "ID-67dd19db-e5bd-4c96-9812-f4d18d885b8d", "InputDocuments": { "DocumentHash": [ { "@ID": "DOC-d4ec42b5-e03a-4837-b9fa-25a60776ac06", "dsig.DigestMethod": { "@Algorithm": "http://www.w3.org/2001/04/xmlenc#sha512" }, "dsig.DigestValue": "kgF9dCQ/lnUgStceTVhSYHjFSNehpQfrGJLZEepUS15WVZ09/h5vE39Mgg7DY6qRIC9LPZXsHwECjxcWvnYrSQ==" } ] }, "OptionalInputs": { "AddTimestamp": { "@Type": "urn:ietf:rfc:3161" }, "AdditionalProfile": [ "urn:oasis:names:tc:dss:1.0:profiles:timestamping" ], "ClaimedIdentity": { "Name": "ais-90days-trial" }, "SignatureType": "urn:ietf:rfc:3161", "sc.AddRevocationInformation": { "@Type": "PAdES-Baseline" } } } } and the response: { "SignResponse": { "@Profile": "http://ais.swisscom.ch/1.1", "@RequestID": "ID-67dd19db-e5bd-4c96-9812-f4d18d885b8d", "OptionalOutputs": { "sc.RevocationInformation": { "sc.CRLs": { "sc.CRL": [ "MIIEUjC...", "MIIGwzC..." ] }, "sc.OCSPs": { "sc.OCSP": [ "MIIJMgo...", "MIIInQo..." ] } } }, "Result": { "ResultMajor": "urn:oasis:names:tc:dss:1.0:resultmajor:Success" }, "SignatureObject": { "Timestamp": { "RFC3161TimeStampToken": "MIIhCgYJK..." } } } } The resulting signature needs to be embedded in the original PDF, to get the signed document. Here is a sample document signed with a timestamp signature (best viewed in Adobe Acrobat Reader or other local PDF viewer that can display the signatures of the document). View sample document AIS API DEFINITION REQUESTSIGNATURE REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED SignRequest object (SignRequest) A request to send to AIS for creating a digital signature around one or more provided hashes RESPONSES 200 OK post/rs/v1.0/sign Public AIS service https://ais.swisscom.com/AIS-Server/rs/v1.0/sign REQUEST SAMPLES * Payload * On-Demand * Static * Trusted Timestamp Content type application/json Copy Expand all Collapse all { * "SignRequest": { * "@Profile": "string", * "@RequestID": "string", * "InputDocuments": { * "DocumentHash": [ * { * "@ID": "string", * "dsig.DigestMethod": { * "@Algorithm": "http://www.w3.org/2001/04/xmlenc#sha256" }, * "dsig.DigestValue": "string" } ] }, * "OptionalInputs": { * "AddTimestamp": { * "@Type": "string" }, * "AdditionalProfile": [ * "string" ], * "ClaimedIdentity": { * "Name": "string" }, * "SignatureType": "string", * "sc.AddRevocationInformation": { * "@Type": "string" }, * "sc.SignatureStandard": "string", * "sc.CertificateRequest": { * "sc.DistinguishedName": "string", * "sc.StepUpAuthorisation": { * "sc.Phone": { * "sc.Language": "string", * "sc.MSISDN": "string", * "sc.Message": "string", * "sc.SerialNumber": "string" } } } } } } POLLSIGNATURESTATUS REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED async.PendingRequest object (AsyncPendingRequest) RESPONSES 200 OK post/rs/v1.0/pending Public AIS service https://ais.swisscom.com/AIS-Server/rs/v1.0/pending REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "async.PendingRequest": { * "@Profile": "string", * "OptionalInputs": { * "AddTimestamp": { * "@Type": "string" }, * "AdditionalProfile": [ * "string" ], * "ClaimedIdentity": { * "Name": "string" }, * "SignatureType": "string", * "sc.AddRevocationInformation": { * "@Type": "string" }, * "sc.SignatureStandard": "string", * "sc.CertificateRequest": { * "sc.DistinguishedName": "string", * "sc.StepUpAuthorisation": { * "sc.Phone": { * "sc.Language": "string", * "sc.MSISDN": "string", * "sc.Message": "string", * "sc.SerialNumber": "string" } } } } } } -------------------------------------------------------------------------------- * Facebook * Twitter * Instagram * YouTube * LinkedIn * TikTok * Xing * Legal aspects * Imprint * Contact * Data protection