Signing documents with digital signature
The Document.One (D1) REST API allows you to sign contents with a secure, SSL-encrypted digital signature.
You need Administrator priviledges to perform this operation.
Signing contents
Log in to D1. Open the Administration API as shown below:
The OpenAPI page opens.
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.Go back to the landing page. Open the API page of the repository where content to be signed is stored.
Find the
/access.adx.content.default/v1/content/signature/sign
Sign content by ID endpoint. Enter the content ID and the private key: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"
}
}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:
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:
OpenAPI
For code samples, see