Signing Documents with Digital Signature
ADx REST API allows you to sign contents with a secure, SSL-encrypted digital signature. You need admin priviledges for this operation.
Signing Contents
-
Log in to ADx. Open Administration API as shown below:
Swagger API 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
- you will need it later. -
Go back to the landing page. Open the API page of the repository where content to be signed is stored.
-
Find the Sign Content by Id endpoint. Enter content ID and 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:
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 UI: