CertVault API (2.6.0)

Download OpenAPI specification:

CertVault RESTful API Doc

CertVault Self-Signed SSL Certificate Management Platform.

Test Controller

Server Testing API

BCrypt Test

Test BCrypt Encryption

path Parameters
password
required
string

Password need to be encrypted

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Authentication

Authentication API

Login

User login

Request Body schema: application/json
required

Login entity

username
required
string

User account(can be username or email)

password
required
string

Password of the user

Responses

Request samples

Content type
application/json
{
  • "username": "testadmin",
  • "password": 123456
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Logout

User logout

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Logout Success",
  • "data": null,
  • "timestamp": "2025-04-04T09:45:34+08:00"
}

OpenID Connect

OpenID Connect Integration API

OIDC provider

Get OIDC is Enabled

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "OIDC Enabled",
  • "data": [
    ],
  • "timestamp": "2025-03-29T00:59:00.06971"
}

OIDC Login

Redirect to OpenID Connect IdP Login

Responses

Response samples

Content type
application/json
{
  • "code": 204,
  • "msg": "OIDC Disabled",
  • "data": null,
  • "timestamp": "2025-03-29T00:59:00+08:00"
}

OIDC Login

Redirect to OpenID Connect IdP Login

path Parameters
provider
required
string

OIDC provider

Responses

Response samples

Content type
application/json
{
  • "code": 204,
  • "msg": "OIDC Disabled",
  • "data": null,
  • "timestamp": "2025-03-29T00:59:00+08:00"
}

OIDC Callback

OpenID Connect IdP Login Success Callback Endpoint

query Parameters
code
required
string
Example: code=c1ds5v1...

OpenID Connect IdP Response JWT Code

state
required
string
Example: state=s1ds5v1...

OpenID Connect IdP Response State

Responses

Response samples

Content type
application/json
{
  • "code": 204,
  • "msg": "OIDC Disabled",
  • "data": null,
  • "timestamp": "2025-03-29T00:59:00+08:00"
}

OIDC Callback

OpenID Connect IdP Login Success Callback Endpoint

path Parameters
provider
required
string

OIDC provider

query Parameters
code
required
string
Example: code=c1ds5v1...

OpenID Connect IdP Response JWT Code

state
required
string
Example: state=s1ds5v1...

OpenID Connect IdP Response State

Responses

Response samples

Content type
application/json
{
  • "code": 204,
  • "msg": "OIDC Disabled",
  • "data": null,
  • "timestamp": "2025-03-29T00:59:00+08:00"
}

User

Common User API

Renew Certificate

Renew the SSL certificate

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

SSL certificate UUID

Request Body schema: application/json
required

New expiry

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "expiry": 365
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Success",
  • "data": {
    }
}

Delete Certificate

Delete the SSL certificate

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

SSL certificate UUID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Get User Certificate List

Retrieve all certificate information for the user (paged retrieval)

query Parameters
keyword
string
Example: keyword=72267ce5-e94a-4cdb-b35b-63f1f385b253

Search keywords (Can be UUID, comments)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Request Certificate

Request a new SSL certificate

Request Body schema: application/json
required

Request certificate entity

caUuid
string

CA UUID

allowSubCa
boolean

Whether to allow sub-CA

algorithm
string

Algorithm (Can be RSA, EC, Ed25519)

keySize
integer <int32>

Key Size

country
required
string

Country

province
required
string

Province

city
required
string

City

organization
required
string

Organization

organizationalUnit
required
string

Organizational Unit

commonName
required
string

Common Name

expiry
required
integer <int32>

Expiry (day)

Array of objects (SubjectAltName)

Subject Alternative Name

comment
string

Comment

Responses

Request samples

Content type
application/json
{
  • "caUuid": "3885be11-4084-4538-9fa0-70ffe4c4cbe0",
  • "allowSubCa": true,
  • "algorithm": "RSA",
  • "keySize": 2048,
  • "country": "CN",
  • "province": "Guangdong",
  • "city": "Canton",
  • "organization": "GregPerlinLi",
  • "organizationalUnit": "Cert Vault",
  • "commonName": "a.b.c",
  • "expiry": 30,
  • "subjectAltNames": [
    ],
  • "comment": "CertVault SSL Certificate"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Success",
  • "data": {
    }
}

Get SSL Certificate Private Key

Retrieve the private key of the SSL certificate (Need user password verify)

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

SSL certificate UUID

Request Body schema: application/json
required

Confirm password

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "password": "123456"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Analyze Private Key

Private key parser, used for parsing private key information

Request Body schema: application/json
required

Private key Base64

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "privkey": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC1GAQWvotGCPu1QAB14hzKF5C2bc9WRecF..."
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Convert PEM to PFX(PKCS12)

Convert PEM format certificate and private key to PFX(PKCS12) format

Request Body schema: application/json
required

Certificate Base64

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "cert": "MIIB+zCCAVigAwIBAgIQJz+JlZg97kbB6ZnzUfe8pYDANBgk...",
  • "privkey": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQU...",
  • "password": "password"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Convert PEM to DER

Convert PEM format certificate and private key to DER format

Request Body schema: application/json
required

Base64 encoded Certificate and Private Key Information

cert
required
string

Certificate with BASE64 encoding

privkey
string

Private key with BASE64 encoding

Responses

Request samples

Content type
application/json
{
  • "cert": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV2QUl...",
  • "privkey": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2QUl..."
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Convert DER to PEM

Convert DER format certificate and private key to PEM format

Request Body schema: application/json
required

Base64 encoded Certificate and Private Key Information

cert
required
string

Certificate with BASE64 encoding

privkey
string

Private key with BASE64 encoding

Responses

Request samples

Content type
application/json
{
  • "cert": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV2QUl...",
  • "privkey": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2QUl..."
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Analyze Certificate

Certificate parser, used for parsing certificate information

Request Body schema: application/json
required

Certificate Base64

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "cert": "MIIB+zCCAVigAwIBAgIQJz+JlZg97kbB6ZnzUfe8pYDANBgk..."
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get User Profile

Retrieve user's own personal information

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Update User Profile

Update user's own personal information Write the specific part that needs to be modified, do not include any part that does not need to be changed in the body (including keys and values).

Request Body schema: application/json
required

Update user profile entity

displayName
required
string

Display name of the user

email
required
string

Email of the user

oldPassword
required
string

Old password of the user

newPassword
required
string

New password of the user

Responses

Request samples

Content type
application/json
{
  • "displayName": "John Doe",
  • "email": "john.doe@example.com",
  • "oldPassword": "oldPass123",
  • "newPassword": "newPass456"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Update Certificate Comment

Update the comment of the certificate

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

SSL certificate UUID

Request Body schema: application/json
required

Update comment

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "comment": "New comment of the cert"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Get User Login Records

Retrieve user's own login records (paged retrieval)

query Parameters
status
integer <int32>
Default: -1
Example: status=-1

Login status (-1: all, 0: offline, 1:online)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get SSL Certificate

Retrieve the SSL certificate allocated to the user

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

SSL certificate UUID

query Parameters
isChain
boolean
Default: false
Example: isChain=true

Whether to get the certificate chain

needRootCa
boolean
Default: true
Example: needRootCa=true

Whether to get the root CA certificate in the chain

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count the number of user requested certificates

Count the number of user requested certificates

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get User CA List

Retrieve all CA information bound to your own account (paged retrieval)

query Parameters
keyword
string
Example: keyword=3885be11-4084-4538-9fa0-70ffe4c4cbe0

Search keywords (Can be UUID, comments)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get CA Certificate

Obtain the CA certificate allocated to the user

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

query Parameters
isChain
boolean
Default: false
Example: isChain=true

Whether to get the certificate chain

needRootCa
boolean
Default: true
Example: needRootCa=true

Whether to get the root CA certificate in the chain

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count Bound CA

Count the number of CA bound to the current user

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

User Session Logout

Force logout user's session

path Parameters
uuid
required
string
Example: ce9aa242-796e-4baa-9f59-c82a918a9380

Login record UUID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Force Logout User

Force logout user's all sessions

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Superadmin

Superadmin API

Delete users

Batch delete users

Request Body schema: application/json
required

Username list of the users to be deleted

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Create users

Create multiple new users (i.e., import users)

Request Body schema: application/json
required

List of create user entities

Array
username
required
string

Username of the user

displayName
required
string

Display name of the user

email
required
string

Email address of the user

password
required
string

Password of the user

role
required
integer <int32>

Role of the user (1: User, 2: Admin, 3: Superadmin)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Create user

Create a new user

Request Body schema: application/json
required

Create user entity

username
required
string

Username of the user

displayName
required
string

Display name of the user

email
required
string

Email address of the user

password
required
string

Password of the user

role
required
integer <int32>

Role of the user (1: User, 2: Admin, 3: Superadmin)

Responses

Request samples

Content type
application/json
{
  • "username": "hello",
  • "displayName": "Hello Admin",
  • "email": "k8qscp.k65@yahoo.com.cn",
  • "password": 1234567890,
  • "role": 2
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Update users role

Batch update user roles

Request Body schema: application/json
required

List of update user role entities

Array
username
required
string

Username of the user whose role information needs to be updated

role
required
integer <int32>

Role of the user (1: User, 2: Admin, 3: Superadmin)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Delete user

Delete user

path Parameters
username
required
string
Example: user

Username of the user to be deleted

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Update user information

Update user information

path Parameters
username
required
string
Example: user

Username of the user to be updated

Request Body schema: application/json
required

Update user entity

displayName
required
string

Display name of the user

email
required
string

Email of the user

oldPassword
required
string

Old password of the user

newPassword
required
string

New password of the user

Responses

Request samples

Content type
application/json
{
  • "displayName": "John Doe",
  • "email": "john.doe@example.com",
  • "oldPassword": "oldPass123",
  • "newPassword": "newPass456"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Update user role

Update user role

Request Body schema: application/json
required

Update user role entity

username
required
string

Username of the user whose role information needs to be updated

role
required
integer <int32>

Role of the user (1: User, 2: Admin, 3: Superadmin)

Responses

Request samples

Content type
application/json
{
  • "username": "john.doe",
  • "role": 2
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Get login records

Get all user's login records

query Parameters
keyword
string
Example: keyword=gregPerlinLi

Search keywords (username)

status
integer <int32>
Default: -1
Example: status=-1

Status of the login record (-1: all, 0: offline, 1: online)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Number of records per page

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get user's login records

Get a user's login records

path Parameters
username
required
string
Example: gregPerlinLi

Username

query Parameters
status
integer <int32>
Default: -1
Example: status=-1

Status of the login record (-1: all, 0: offline, 1: online)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Number of records per page

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count all ssl certificates

Calculate the total number of ssl certificates

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count all CA

Calculate the total number of CA

query Parameters
condition
string
Default: "none"
Example: condition=none

Condition of the CA

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Force Logout a User

Force logout a user's all sessions

path Parameters
username
required
string

Username

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Admin

Admin API

Renew CA Certificate

Renew the specified CA certificate

path Parameters
uuid
required
string
Example: bf35ecb1-9b67-4083-9476-e264ba153188

CA UUID

Request Body schema: application/json
required

New expiry

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "expiry": 3650
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Delete CA Certificate

Delete the specified CA certificate

path Parameters
uuid
required
string
Example: bf35ecb1-9b67-4083-9476-e264ba153188

CA UUID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Get all CA information

Retrieve all CA information under this username (paged)

query Parameters
keyword
string
Example: keyword=3885be11-4084-4538-9fa0-70ffe4c4cbe0

Search keywords (Can be UUID, comments)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Request CA Certificate

Request a new CA certificate

Request Body schema: application/json
required

Request certificate entity

caUuid
string

CA UUID

allowSubCa
boolean

Whether to allow sub-CA

algorithm
string

Algorithm (Can be RSA, EC, Ed25519)

keySize
integer <int32>

Key Size

country
required
string

Country

province
required
string

Province

city
required
string

City

organization
required
string

Organization

organizationalUnit
required
string

Organizational Unit

commonName
required
string

Common Name

expiry
required
integer <int32>

Expiry (day)

Array of objects (SubjectAltName)

Subject Alternative Name

comment
string

Comment

Responses

Request samples

Content type
application/json
{
  • "caUuid": "3885be11-4084-4538-9fa0-70ffe4c4cbe0",
  • "allowSubCa": true,
  • "country": "China",
  • "province": "Guangdong",
  • "city": "Canton",
  • "organization": "CertVault Develop Org",
  • "organizationalUnit": "CertVault Dev",
  • "commonName": "CertVault Intermediate CA",
  • "expiry": 180,
  • "comment": "Cert Vault Default Intermediate Certificate Authority"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get CA Private Key

Obtain the CA private key allocated to the user (Need user password verify)

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

Request Body schema: application/json
required

Confirm password

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "password": "123456"
}

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Import CA Certificate

Import a CA certificate and private key allocated to the user

Request Body schema: application/json
required

Import certificate entity

privkey
required
string

Private key of the certificate

certificate
required
string

Certificate of the certificate

comment
required
string

Comment of the certificate

Responses

Request samples

Content type
application/json
{
  • "privkey": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQURBTkJn...",
  • "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFekNDQ...",
  • "comment": "Testing CA"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Unbind CA Certificate from Users

Batch unbind users from specified CA certificate

Request Body schema: application/json
required

List of CA-User binding entities

Array
caUuid
required
string

The UUID of the Certificate Authority (CA)

username
required
string

The username of the user associated with the CA binding

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Bind CA Certificate to Users

Batch bind users to specified CA certificate

Request Body schema: application/json
required

List of CA-User binding entities

Array
caUuid
required
string

The UUID of the Certificate Authority (CA)

username
required
string

The username of the user associated with the CA binding

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Unbind CA Certificate from User

Unbind a specified CA certificate from a user

Request Body schema: application/json
required

CA-User binding entity

caUuid
required
string

The UUID of the Certificate Authority (CA)

username
required
string

The username of the user associated with the CA binding

Responses

Request samples

Content type
application/json
{
  • "caUuid": "2f2d63a8-b29c-4404-ae10-81f5ff023a69",
  • "username": "john.doe"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Bind CA Certificate to User

Bind a specified CA for user to sign SSL certificates

Request Body schema: application/json
required

CA-User binding entity

caUuid
required
string

The UUID of the Certificate Authority (CA)

username
required
string

The username of the user associated with the CA binding

Responses

Request samples

Content type
application/json
{
  • "caUuid": "2f2d63a8-b29c-4404-ae10-81f5ff023a69",
  • "username": "john.doe"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Update CA Comment

Update the comment of the CA allocated to the user

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

Request Body schema: application/json
required

Update comment

any (JsonNode)

Responses

Request samples

Content type
application/json
{
  • "comment": "This is a comment"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "msg": "Success",
  • "data": null,
  • "timestamp": "2025-04-04T16:16:02+08:00"
}

Modify CA Availability

Modify the availability of the CA allocated to the user

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": true,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get users

Retrieve all users (paged)

query Parameters
keyword
string
Example: keyword=user

Search keywords (Can be username, display name, and email)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count all users

Calculate the total number of users

query Parameters
role
integer <int32>
Default: 0

Role of the user (0: all user, 1: user, 2: admin, 3: superadmin)

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count Signed CA Certificates

Count the number of SSL/CA certificates signed by a CA certificate

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

query Parameters
caOrSsl
boolean
Default: false

Flag of CA or SSL (true if count ca certificates, false if count ssl certificates)

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get CA Certificate Deprecated

Obtain the CA certificate allocated to the user

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

query Parameters
isChain
boolean
Default: false
Example: isChain=true

Whether to get the certificate chain

needRootCa
boolean
Default: true
Example: needRootCa=true

Whether to get the root CA certificate in the chain

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": "string",
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get all user information bound to a ca

Retrieve all user information bound to a ca (paged)

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

query Parameters
keyword
string
Example: keyword=user

Search keywords (Can be username, display name, and email)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Get all user information not bound to a ca

Retrieve all user information not bound to a ca (paged)

path Parameters
uuid
required
string
Example: 3885be11-4084-4538-9fa0-70ffe4c4cbe0

CA UUID

query Parameters
keyword
string
Example: keyword=user

Search keywords (Can be username, display name, and email)

page
integer <int32>
Default: 1
Example: page=1

Page number

limit
integer <int32>
Default: 10
Example: limit=10

Page limit

orderBy
string
Example: orderBy=username

Order by field

isAsc
boolean
Default: true
Example: isAsc=true

Ascending or descending

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": {
    },
  • "timestamp": "2025-03-19T01:38:31+08:00"
}

Count Requested CA Certificates

Count the number of user requested CA certificates

query Parameters
condition
string
Default: "none"
Example: condition=none

Condition of the CA certificate

Responses

Response samples

Content type
application/json
{
  • "code": "200",
  • "msg": "Success",
  • "data": 0,
  • "timestamp": "2025-03-19T01:38:31+08:00"
}