Store or create a new certificate of the given OrganisationCertificateType for the given organisation
POST/organisations/:OrganisationId/certificates/:OrganisationCertificateType
create an organisation certificate
Request
Path Parameters
Possible values: non-empty
and <= 40 characters
, Value must match regular expression ^[^<>]*$
The organisation ID
Possible values: [qwac
, qseal
, rtswac
, rtsseal
, brseal
, brseal_ext
, rtstransport_rs
, resource_server_signing
, resource_server_encryption
]
Default value: rtsseal
The certificate type
Header Parameters
Possible values: Value must match regular expression ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC
The PSU's IP address if the PSU is currently logged in with the TPP.
An RFC4122 UID used as a correlation id.
Indicates the user-agent that the PSU is using.
- application/x-pem-file
- application/jwt
Body
required
- PEM file -- when the request
Content-Type
header is set toapplication/x-pem-file
the contents of the PEM file will differ depending uponOrganisationCertificateType
. IfOrganisationCertificateType
is set toqwac
,qseal
then the PEM file should contain a QWAC or a QSEAL certificate respectively; ifOrganisationCertificateType
is set tortswac
,rtsseal
,brcac
orbrseal
then the PEM file should contain a Certificate Signing Request (CSR) for an RTS-issued RTSWAC, RTSSEAL, BRCAC or BRSEAL certificate respectively. - Signed JWT -- when the request
Content-Type
header is set toapplication/jwt
the body of the signed JWT will contain a CSR or a certificate.
Requesting a Certificate using a signed JWT
The header kid
claim is the ID of the QSealC certificate assigned to it by the RTS JWKS store.
The body csr
claim is the CSR in the DER format.
{
"typ": "JWT",
"alg": "ES256",
"kid": "ABCD1234",
}
{
"csr": "string"
}
Uploading a Certificate using a signed JWT
The header kid
claim is the ID of the QSealC certificate assigned to it by the RTS JWKS store.
The body x5c
claim is the array of certificate, issuer certificate, and root certificate in the DER format.
{
"typ": "JWT",
"alg": "ES256",
"kid": "ABCD1234",
}
{
"x5c": ["qsealc", "issuer certificate", "root certificate"]
}
EXAMPLE REQUEST PAYLOAD USING SIGNED JWT REQUESTS
POST /organisations/123456789012345678/certificates/rtswac HTTP/1.1
Content-Type: application/jwt
Accept: application/json
Host: raidiam.tobedecided.org.uk
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IkFCQ0QxMjM0IiwieDVjIjpbInFzZWFsYyIsImlzc3VlciBjZXJ0aWZpY2F0ZSIsInJvb3QgY2VydGlmaWNhdGUiXX0.eyJyZWRpcmVjdF91cmlzIjpbInN0cmluZyJdLCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZCI6InN0cmluZyIsImdyYW50X3R5cGVzIjpbInN0cmluZyJdLCJyZXNwb25zZV90eXBlcyI6WyJzdHJpbmcibSwiY2xpZW50X25hbWUiOiJzdHJpbmciLCJjbGllbnRfdXJpIjoic3RyaW5nIiwibG9nb191cmkiOiJzdHJpbmciLCJzY29wZSI6InN0cmluZyIsImNvbnRhY3RzIjpbInVzZXJAZXhhbXBsZS5jb20iXSwidG9zX3VyaSI6InN0cmluZyIsInBvbGljeV91cmkiOiJzdHJpbmciLCJqd2tzX3VyaSI6InN0cmluZyIsImp3a3MiOnt9LCJzb2Z0d2FyZV9pZCI6InN0cmluZyIsInNvZnR3YXJlX3ZlcnNpb24iOiJzdHJpbmcifQ.lMsADSHkFGUw5PtgdEqXslYArzqf6tbg0lo0kCitOUA
string
Possible values: Value must match regular expression ^[^<>]*$
Body
required
- PEM file -- when the request
Content-Type
header is set toapplication/x-pem-file
the contents of the PEM file will differ depending uponOrganisationCertificateType
. IfOrganisationCertificateType
is set toqwac
,qseal
then the PEM file should contain a QWAC or a QSEAL certificate respectively; ifOrganisationCertificateType
is set tortswac
,rtsseal
,brcac
orbrseal
then the PEM file should contain a Certificate Signing Request (CSR) for an RTS-issued RTSWAC, RTSSEAL, BRCAC or BRSEAL certificate respectively. - Signed JWT -- when the request
Content-Type
header is set toapplication/jwt
the body of the signed JWT will contain a CSR or a certificate.
Requesting a Certificate using a signed JWT
The header kid
claim is the ID of the QSealC certificate assigned to it by the RTS JWKS store.
The body csr
claim is the CSR in the DER format.
{
"typ": "JWT",
"alg": "ES256",
"kid": "ABCD1234",
}
{
"csr": "string"
}
Uploading a Certificate using a signed JWT
The header kid
claim is the ID of the QSealC certificate assigned to it by the RTS JWKS store.
The body x5c
claim is the array of certificate, issuer certificate, and root certificate in the DER format.
{
"typ": "JWT",
"alg": "ES256",
"kid": "ABCD1234",
}
{
"x5c": ["qsealc", "issuer certificate", "root certificate"]
}
EXAMPLE REQUEST PAYLOAD USING SIGNED JWT REQUESTS
POST /organisations/123456789012345678/certificates/rtswac HTTP/1.1
Content-Type: application/jwt
Accept: application/json
Host: raidiam.tobedecided.org.uk
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IkFCQ0QxMjM0IiwieDVjIjpbInFzZWFsYyIsImlzc3VlciBjZXJ0aWZpY2F0ZSIsInJvb3QgY2VydGlmaWNhdGUiXX0.eyJyZWRpcmVjdF91cmlzIjpbInN0cmluZyJdLCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZCI6InN0cmluZyIsImdyYW50X3R5cGVzIjpbInN0cmluZyJdLCJyZXNwb25zZV90eXBlcyI6WyJzdHJpbmcibSwiY2xpZW50X25hbWUiOiJzdHJpbmciLCJjbGllbnRfdXJpIjoic3RyaW5nIiwibG9nb191cmkiOiJzdHJpbmciLCJzY29wZSI6InN0cmluZyIsImNvbnRhY3RzIjpbInVzZXJAZXhhbXBsZS5jb20iXSwidG9zX3VyaSI6InN0cmluZyIsInBvbGljeV91cmkiOiJzdHJpbmciLCJqd2tzX3VyaSI6InN0cmluZyIsImp3a3MiOnt9LCJzb2Z0d2FyZV9pZCI6InN0cmluZyIsInNvZnR3YXJlX3ZlcnNpb24iOiJzdHJpbmcifQ.lMsADSHkFGUw5PtgdEqXslYArzqf6tbg0lo0kCitOUA
string
Possible values: Value must match regular expression ^[^<>]*$
Responses
- 201
- 400
- 401
- 403
- 429
- 500
- 502
- 504
A certificate object
Response Headers
x-fapi-interaction-id
string
- application/jwk+json
- Schema
- Example (from schema)
Schema
Possible values: non-empty
and <= 40 characters
, Value must match regular expression ^[^<>]*$
Unique ID associated with the organisation
Possible values: <= 40 characters
, Value must match regular expression ^[^<>]*$
Possible values: <= 40 characters
Possible values: <= 40 characters
Possible values: <= 30 characters
Possible values: <= 30 characters
Possible values: <= 30 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Possible values: <= 255 characters
Used to display location of the signed certificate in PEM format
Possible values: <= 255 characters
Used to display path to JWKS containing this certificate
Possible values: <= 255 characters
Used to display path to Org JWKS containing org certificates
{
"OrganisationId": "string",
"SoftwareStatementIds": [
"string"
],
"ClientName": "string",
"Status": "string",
"ValidFromDateTime": "string",
"RevokedDateTime": "string",
"ExpiryDateTime": "string",
"e": "string",
"keyType": "string",
"kid": "string",
"kty": "string",
"n": "string",
"use": "string",
"x5c": [
"string"
],
"x5t": "string",
"x5thashS256": "string",
"x5u": "string",
"SignedCertPath": "string",
"JwkPath": "string",
"OrgJwkPath": "string"
}
Bad Request
Response Headers
x-fapi-interaction-id
string
- application/json
- Schema
- Example (from schema)
Schema
Validation Error messages
{
"errors": [
"string"
]
}
Unauthorized
Response Headers
x-fapi-interaction-id
string
Forbidden
Response Headers
x-fapi-interaction-id
string
Too many requests, maximum capacity reached. Requests are now throttled.
Response Headers
x-fapi-interaction-id
string
Internal Server Error
Response Headers
x-fapi-interaction-id
string
Bad Gateway
Response Headers
x-fapi-interaction-id
string
Upstream timeout, insufficient capacity to serve request. More capacity being brought online. Please try again.
Response Headers
x-fapi-interaction-id
string