Difference between revisions of "Key REST API"

From Dogtag
Jump to: navigation, search
m (Edewata moved page Key API to Key REST API without leaving a redirect)
m (Retrieving Key With DES)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= Archiving a Key =
 +
 +
== Archiving Key with DES ==
 +
 +
Request:
 +
 +
<pre>
 +
{
 +
    "Attributes": {
 +
        "Attribute": [
 +
            {
 +
                "name": "algorithmOID",
 +
                "value": "{1 2 840 113549 3 7}"
 +
            },
 +
            {
 +
                "name": "clientKeyID",
 +
                "value": <client key ID>
 +
            },
 +
            {
 +
                "name": "dataType",
 +
                "value": "passPhrase"
 +
            },
 +
            {
 +
                "name": "symmetricAlgorithmParams",
 +
                "value": <base64-encoded data>
 +
            },
 +
            {
 +
                "name": "transWrappedSessionKey",
 +
                "value": <base64-encoded data>
 +
            },
 +
            {
 +
                "name": "wrappedPrivateData",
 +
                "value": <base64-encoded data>
 +
            }
 +
        ]
 +
    },
 +
    "ClassName": "com.netscape.certsrv.key.KeyArchivalRequest"
 +
}
 +
</pre>
 +
 +
Response:
 +
 +
<pre>
 +
{
 +
    "RequestInfo": {
 +
        "keyURL": "https://localhost:8443/kra/rest/agent/keys/<key ID>",
 +
        "requestStatus": "begin",
 +
        "requestType": "securityDataEnrollment",
 +
        "requestURL": "https://localhost:8443/kra/rest/agent/keyrequests/<request ID>"
 +
    }
 +
}
 +
</pre>
 +
 +
== Archiving Key with AES ==
 +
 +
Request:
 +
 +
<pre>
 +
{
 +
    "Attributes": {
 +
        "Attribute": [
 +
            {
 +
                "name": "algorithmOID",
 +
                "value": "{2 16 840 1 101 3 4 1 2}"
 +
            },
 +
            {
 +
                "name": "clientKeyID",
 +
                "value": <client key ID>
 +
            },
 +
            {
 +
                "name": "dataType",
 +
                "value": "passPhrase"
 +
            },
 +
            {
 +
                "name": "keyAlgorithm",
 +
                "value": ""
 +
            },
 +
            {
 +
                "name": "symmetricAlgorithmParams",
 +
                "value": <base64-encoded data>
 +
            },
 +
            {
 +
                "name": "transWrappedSessionKey",
 +
                "value": <base64-encoded data>
 +
            },
 +
            {
 +
                "name": "wrappedPrivateData",
 +
                "value": <base64-encoded data>
 +
            }
 +
        ]
 +
    },
 +
    "ClassName": "com.netscape.certsrv.key.KeyArchivalRequest"
 +
}
 +
</pre>
 +
 +
Response:
 +
 +
<pre>
 +
{
 +
    "RequestInfo": {
 +
        "keyURL": "https://localhost:8443/kra/rest/agent/keys/<key ID>",
 +
        "requestStatus": "complete",
 +
        "requestType": "securityDataEnrollment",
 +
        "requestURL": "https://localhost:8443/kra/rest/agent/keyrequests/<request ID>"
 +
    }
 +
}
 +
</pre>
 +
 
= Retrieving a Key =
 
= Retrieving a Key =
  
== Retrieving Key With DES3/CBC/Pad ==
+
== Retrieving Key with DES ==
  
 
Request:
 
Request:
Line 11: Line 119:
 
             {
 
             {
 
                 "name": "keyId",
 
                 "name": "keyId",
                 "value": "22"
+
                 "value": <key ID>
 
             },
 
             },
 
             {
 
             {
Line 42: Line 150:
 
</pre>
 
</pre>
  
== Retrieving Key with AES KeyWrap/Padding ==
+
== Retrieving Key with AES ==
  
 
Request:
 
Request:
Line 52: Line 160:
 
             {
 
             {
 
                 "name": "keyId",
 
                 "name": "keyId",
                 "value": "3"
+
                 "value": <key ID>
 
             },
 
             },
 
             {
 
             {

Latest revision as of 17:26, 11 October 2019

Archiving a Key

Archiving Key with DES

Request:

{
    "Attributes": {
        "Attribute": [
            {
                "name": "algorithmOID",
                "value": "{1 2 840 113549 3 7}"
            },
            {
                "name": "clientKeyID",
                "value": <client key ID>
            },
            {
                "name": "dataType",
                "value": "passPhrase"
            },
            {
                "name": "symmetricAlgorithmParams",
                "value": <base64-encoded data>
            },
            {
                "name": "transWrappedSessionKey",
                "value": <base64-encoded data>
            },
            {
                "name": "wrappedPrivateData",
                "value": <base64-encoded data>
            }
        ]
    },
    "ClassName": "com.netscape.certsrv.key.KeyArchivalRequest"
}

Response:

{
    "RequestInfo": {
        "keyURL": "https://localhost:8443/kra/rest/agent/keys/<key ID>",
        "requestStatus": "begin",
        "requestType": "securityDataEnrollment",
        "requestURL": "https://localhost:8443/kra/rest/agent/keyrequests/<request ID>"
    }
}

Archiving Key with AES

Request:

{
    "Attributes": {
        "Attribute": [
            {
                "name": "algorithmOID",
                "value": "{2 16 840 1 101 3 4 1 2}"
            },
            {
                "name": "clientKeyID",
                "value": <client key ID>
            },
            {
                "name": "dataType",
                "value": "passPhrase"
            },
            {
                "name": "keyAlgorithm",
                "value": ""
            },
            {
                "name": "symmetricAlgorithmParams",
                "value": <base64-encoded data>
            },
            {
                "name": "transWrappedSessionKey",
                "value": <base64-encoded data>
            },
            {
                "name": "wrappedPrivateData",
                "value": <base64-encoded data>
            }
        ]
    },
    "ClassName": "com.netscape.certsrv.key.KeyArchivalRequest"
}

Response:

{
    "RequestInfo": {
        "keyURL": "https://localhost:8443/kra/rest/agent/keys/<key ID>",
        "requestStatus": "complete",
        "requestType": "securityDataEnrollment",
        "requestURL": "https://localhost:8443/kra/rest/agent/keyrequests/<request ID>"
    }
}

Retrieving a Key

Retrieving Key with DES

Request:

{
    "Attributes": {
        "Attribute": [
            {
                "name": "keyId",
                "value": <key ID>
            },
            {
                "name": "transWrappedSessionKey",
                "value": <base64-encoded data>
            },
            {
                "name": "payloadEncryptionOID",
                "value": "{1 2 840 113549 3 7}"
            },
            {
                "name": "payloadWrappingName",
                "value": "DES3/CBC/Pad"
            }
        ]
    },
    "ClassName": "com.netscape.certsrv.key.KeyRecoveryRequest"
}

Response:

{
    "wrappedPrivateData": <base64-encoded data>,
    "nonceData": <base64-encoded data>,
    "encryptAlgorithmOID": "DESede/CBC/PKCS5Padding/168",
    "type": "passPhrase"
}

Retrieving Key with AES

Request:

{
    "Attributes": {
        "Attribute": [
            {
                "name": "keyId",
                "value": <key ID>
            },
            {
                "name": "transWrappedSessionKey",
                "value": <base64-encoded data>
            },
            {
                "name": "payloadEncryptionOID",
                "value": "{2 16 840 1 101 3 4 1 2}"
            },
            {
                "name": "payloadWrappingName",
                "value": "AES KeyWrap/Padding"
            }
        ]
    },
    "ClassName": "com.netscape.certsrv.key.KeyRecoveryRequest"
}

Response:

{
    "wrappedPrivateData": <base64-encoded data>,
    "nonceData": <base64-encoded data>,
    "encryptAlgorithmOID": "AES/CBC/PKCS5Padding/128",
    "type": "passPhrase"
}

See Also