Skip to content

POST /api/v1/certificates

POST/api/v1/certificates

上传证书(PEM 文本,校验私钥匹配与有效期)

useroperationId: certificateUpload

请求体

请求数据

Content-Type · application/json

{
  "type": "object",
  "required": [
    "cert_pem",
    "key_pem"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "cert_pem": {
      "type": "string"
    },
    "key_pem": {
      "type": "string"
    },
    "hostname": {
      "type": "string"
    }
  }
}

请求示例

cURL
curl -X POST 'http://localhost:8080/api/v1/certificates' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT>'
JavaScript
const res = await fetch('http://localhost:8080/api/v1/certificates', {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer <JWT>'
  },
});
const data = await res.json();
Python
import requests

res = requests.post(
    'http://localhost:8080/api/v1/certificates',
    headers={'Accept': 'application/json', 'Authorization': 'Bearer <JWT>'}
)
print(res.json())

响应

201证书元信息

application/json

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "issuer": {
      "type": "string"
    },
    "not_before": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "not_after": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  }
}
400请求体非法或证书校验失败
401未认证或凭据无效

application/json

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "example": "not_found"
    },
    "message": {
      "type": "string",
      "example": "资源不存在"
    }
  }
}

在线调试

在线调试
凭证仅保存在当前页面内存中
自定义请求 Header