# Obtain information on the CSC signature service

# Alias

`CscInfo`

# Description

Provides information on the signature service implemented by the TRIDENT and a list of operations that it supports.

# Request

To obtain the information on the signature service, the client application must send the following request to the Remote Signing Service using TLS.

`POST /trustedx-resources/csc/v2/info`
Important

[CSC_STANDARD_V2] requires that the base path of all requests of the access API to a remote signature services provider be `/csc/v2/`. Thus, if the TRIDENT administrator decides to follow the standard strictly, they must deploy the system so that the base path of the request is `/csc/v2` instead of`/trustedx-resources/csc/v2`. To determine if this is the case in your situation, check the "`oauth2`" property of the JSON object provided by the Obtain information on the CSC signature service operation.

## Content-Type Header

`Content-Type: application/json`

## Authorization

No access token is required.

# Response

## Status-Line

If the request is successfully processed, the HTTP response contains the following `Status-Line`:

`HTTP/1.1 200 OK`

## Content-Type Header

`Content-Type: application/json;charset=UTF-8`

## Body

JSON object containing information on the signature service implemented by the TRIDENT.

`{`
`"specs": "2.0.0.2",`
`"name": {string},`
`"logo": {string},`
`"region": {string},`
`"lang": {string},`
`"description": {string},`
`"authType": ["oauth2code", "oauth2client"],`
`"oauth2": {string},`
`"methods": [`
`"credentials/list",`
`"credentials/info",`
`"oauth2/authorize",`
`"oauth2/pushed_authorize",`
`"oauth2/token",`
`"oauth2/revoke",`
`"signatures/signHash",`
`"auth/revoke"`
`],`
`"signAlgorithms": {`
`"algos": [`
`"1.2.840.113549.1.1.1",`
`"1.2.840.113549.1.1.11",`
`"1.2.840.113549.1.1.12",`
`"1.2.840.113549.1.1.13",`
`"1.2.840.10045.4.3.2",`
`"1.2.840.10045.4.3.3",`
`"1.2.840.10045.4.3.4"`
`]`
`},`
`"signature_formats": {`
`"formats": []`
`"envelope_properties": []`
`},`
`"conformance_levels": []`
`}`

Property | Type | Description
`specs` | String | Version of the Cloud Signature Consortium API implemented by the TRIDENT. It always has the value 2.0.0.2.
`name` | String | Trade name of the remote signature service provider.
`logo` | String | URL of the file that contains the logo of the remote signature service provider.
`region` | String | ISO 3166-1 alpha-2 code of the country where the remote signature service provider is located.
`lang` | String | Language used in the response (in the `description` property). This will be the value specified by an administrator in the settings of the CSC service. The language is specified as per [RFC 5646]
`description` | String | Description (in the language specified in the `lang` property and limited to 255 characters) of the remote signature service provided by TRIDENT.
`authType` | String Array | List of authorization methods supported by the TRIDENT to authorize access to the API. It always has ["`oauth2code`", "`oauth2client`"] as its value, stating that the TRIDENT only supports authorization tokens obtained in OAuth 2.0 Authorization Code Grant and OAuth 2.0 Client Credentials Grant flows.
`oauth2` | String | URI base of the endpoints of the OAuth 2.0 authorization server recognized by TRIDENT The value is `https://<DNSname_or_IPadress>``/csc/v2/` if the TRIDENT is configured to comply strictly with [CSC_STANDARD_V2] . The value is `https://<DNSname_or_IPadress>``/trustedx-resources/csc/v2/` if the default configuration is left.
`methods` | String Array | List of the API operation specified by [CSC_STANDARD_V2] that the TRIDENT implements. It always has `["credentials/list", "credentials/info", "oauth2/authorize", "oauth2/pushed_authorize", "oauth2/token", "oauth2/revoke", "signatures/signHash", "auth/revoke"]` as its value.
`signAlgorithms` | Object Array | It always has the following value (which is a list of OIDs of the signature algorithms currently supported by the TRIDENT): `{ "algos": [` `"1.2.840.113549.1.1.1",` `"1.2.840.113549.1.1.11", "1.2.840.113549.1.1.12", "1.2.840.113549.1.1.13", "1.2.840.10045.4.3.2", "1.2.840.10045.4.3.3", "1.2.840.10045.4.3.4" ]}`
`signature_formats` | Object Array | It always has the following value (which is coherent with the fact that `signatures/signDoc` is currently not implemented by the TRIDENT): `{` `"formats":[]` `"envelope_properties":[]` `}`
`conformance_levels` | String Array | It always has `[]` as its value (which is coherent with the fact that `signatures/signDoc` is currently not implemented by the Remote Signing.

# Example

## Request

The signature application sends the following request to the TRIDENT:

`POST /trustedx-resources/csc/v2/info HTTP/1.1`
`Host: rse.corporation.com`
`Content-Type: application/json`
`{`
`}`

## Response

The TRIDENT responds to the application, providing information on the remote signature service it implements.

`HTTP/1.1 200 OK`
`Content-Type: application/json;charset=UTF-8`
`{`
`"specs": "2.0.0.2",`
`"name": "Corporation",`
`"logo": "https://www.corporation.com/logo.png",`
`"region": "US",`
`"lang": "en-US",`
`"description": "Corporation's CSC Remote Signing Service",`
`"authType": ["oauth2code", "oauth2client"],`
`"oauth2": "https://www.corporation.com/csc/v2",`
`"methods": [`
`"credentials/list",`
`"credentials/info",`
`"oauth2/authorize",`
`"oauth2/pushed_authorize",`
`"oauth2/token",`
`"oauth2/revoke",`
`"signatures/signHash",`
`"auth/revoke"`
`],`
`"signAlgorithms": {`
`"algos": [`
`"1.2.840.113549.1.1.1",`
`"1.2.840.113549.1.1.11",`
`"1.2.840.113549.1.1.12",`
`"1.2.840.113549.1.1.13",`
`"1.2.840.10045.4.3.2",`
`"1.2.840.10045.4.3.3",`
`"1.2.840.10045.4.3.4"`
`]`
`},`
`"signature_formats": {`
`"formats": []`
`"envelope_properties": []`
`},`
`"conformance_levels": []`
`}`