Skip to main content
Version: 2.8

Signing documents with digital signature

The Document.One (D1) REST API allows you to sign contents with a secure, SSL-encrypted digital signature.

NOTE

You need Administrator priviledges to perform this operation.

Signing contents

  1. Log in to D1. Open the Administration API as shown below:

    Accessing the D1 Administration API

    The OpenAPI page opens.

  2. Expand the /access.adx.admin/v1/user/generateKeys endpoint. Click Execute to generate a pair of keys private and public.

    {
    "_type": "tribefire.adx.model.deployment.service.crypto.GenerateKeyPairResponse",
    "_id": "0",
    "duration": 1081,
    "privateKey": "30820276020100300d06092a864886f70d0101010500048202603082025c020100028181009c9535f54db94eb2ef6a733a3c07c3fce87cace6ce90958f16ba520eaa75a6b275278da37bb324fa9a769e3a1a317bb2454319d3d4daf320f9d02ee965f715482c6d2f2b3f9dbded3ad10b5b1a25caec07f01541a9503d76e04a22b718ef07ddb05ed5891507a8070c971e83c6c57a547de2dece8d51deac8604f053d86be425020301000102818006561364e5cc45deffc932f87c4d6424ebd37fbba7483a851bca565fb98e213cbf78e646634f10840394213b00ac57f112d4704b1e25ee08bb932d12ccc97ed6e83dba2a303a6de115d6b3a3e26f78c9c2d80e4aa3cf56f126a4a1b91fc9f4cd3d78c340c74b85f2ac72004bb113ccc8130c5bc1f963a1991e96a6b55c17b181024100f91ca8eb92788f45644a33d040f2b57f656636ebda882b7bbfa68f35a83841ffac6e234bfc105b4ad11e3296c80ee56fb8a6518385eb2d5bb84207244b1874b9024100a0e99550d2274ba968e35e6f9e922522ebba063b593576b63e95a3f07f79b5576cc5c43cd9ffacab03087cf1e1cd91d118361a63a14f3ca24201b94e2bebcccd02406e8827ef76ab25aefd83eb1f9161dfe46a028385fd0e047541214f53d89335bd932dbf5d9cb7493a963516ef4e4f45c05fa6f46e2e429e7a9ef4352506691089024020899b0bd0b2e975c423d5c0b44bd0fe92b3f6f6a13f5255dfa9da9092f64558fc41b140acc42a621a26e93cefefe5806668ea452325269998c748752a247031024100dbdf0048edbc6f61ac931f99f4c9af45463888bdb6df1266a810e63636ef8add55b75b87f54e16cf2c219103e59ebfe085cc01228b268c6ba031859b546d7a04",
    "publicKey": "30819f300d06092a864886f70d010101050003818d00308189028181009c9535f54db94eb2ef6a733a3c07c3fce87cace6ce90958f16ba520eaa75a6b275278da37bb324fa9a769e3a1a317bb2454319d3d4daf320f9d02ee965f715482c6d2f2b3f9dbded3ad10b5b1a25caec07f01541a9503d76e04a22b718ef07ddb05ed5891507a8070c971e83c6c57a547de2dece8d51deac8604f053d86be4250203010001"
    }

    Copy the privateKey for later use.

  3. Go back to the landing page. Open the API page of the repository where content to be signed is stored.

  4. Find the /access.adx.content.default/v1/content/signature/sign Sign content by ID endpoint. Enter the content ID and the private key:

    Signing content by ID

  5. Click Execute. You should get a response with the signature details:

    {
    "_type": "tribefire.adx.model.content.service.v1.request.crud.content.signature.SignContentResponse",
    "duration": 774,
    "signature": {
    "digest": "2abeb78b9ab6cf280aeeba3bd0019523b771ce08ad120e5b717687e55800a7cdcacd7b81c08286f3a3a770c02958d2f4e974b9a52c808f9023bb95de52ead73a34f1f29cc155eb2de4b14b44c4a9ed76c09dab5f8bda13b39aea7ce484fd0d281c0c340aa68b61f0002bdab4b81f181a17e529a4a1d3b149b356cd0a400d27d1",
    "id": "3810b7ce-6251-4959-abeb-474e65e9bc34",
    "partition": "access.adx.content.default",
    "signer": "cortex",
    "status": "VALID",
    "timestamp": "2019-10-24T15:34:56.658+0000"
    }
    }
  6. At any time, you can verify the signature using the Verify content signature by ID endpoint. You simply need to provide the content ID again to get the status:

    Verifying content signature by ID

    The response should be similar to that from point 3, with the only difference being that all signatures are reported.

    You can also check that the signature is present in the D1 user interface:

    Verifying the digital signature on the D1 user interface

OpenAPI

For code samples, see

Send for eSignature by ID