# SSLCertService > SSL证书管理服务 --- ## countAllSSLCertsWithOCSPError > 计算有OCSP错误的证书数量 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/countAllSSLCertsWithOCSPError` - RPC:`rpc countAllSSLCertsWithOCSPError (CountAllSSLCertsWithOCSPErrorRequest) returns (RPCCountResponse);` **请求对象 (`CountAllSSLCertsWithOCSPErrorRequest`)** ```json { "keyword": "string // 关键词" } ``` **响应对象 (`RPCCountResponse`)** ```json { "count": "int64 // 数量" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/countAllSSLCertsWithOCSPError" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## countSSLCerts > 计算匹配的证书数量 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/countSSLCerts` - RPC:`rpc countSSLCerts (CountSSLCertRequest) returns (RPCCountResponse);` **请求对象 (`CountSSLCertRequest`)** ```json { "isCA": "bool // 可选项,是否为CA证书", "isAvailable": "bool // 可选项,是否可用(在有效期内)", "isExpired": "bool // 可选项,是否已过期", "expiringDays": "int32 // 可选项,离过期日的天数", "keyword": "string // 可选项,关键词", "userId": "int64 // 可选项,用户ID,不填则表示读取管理员上传的证书", "domains": "[]string // 可选项,搜索使用的域名列表", "userOnly": "bool // 可选项,只列出用户上传的证书" } ``` **响应对象 (`RPCCountResponse`)** ```json { "count": "int64 // 数量" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/countSSLCerts" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## createSSLCert > 创建证书 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/createSSLCert` - RPC:`rpc createSSLCert (CreateSSLCertRequest) returns (CreateSSLCertResponse);` **请求对象 (`CreateSSLCertRequest`)** ```json { "isOn": "bool // 是否启用", "userId": "int64 // 所属用户,仅管理员才能指定", "name": "string // 名称", "description": "string // 描述(备注)", "serverName": "string", "isCA": "bool", "certData": "bytes", "keyData": "bytes", "timeBeginAt": "int64", "timeEndAt": "int64", "dnsNames": "[]string", "commonNames": "[]string" } ``` **响应对象 (`CreateSSLCertResponse`)** ```json { "sslCertId": "int64" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/createSSLCert" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## createSSLCerts > 创建一组证书 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/createSSLCerts` - RPC:`rpc createSSLCerts(CreateSSLCertsRequest) returns (CreateSSLCertsResponse);` **请求对象 (`CreateSSLCertsRequest`)** ```json { "SSLCerts": "[]cert // 证书信息", "userId": "int64 // 用户ID", "isOn": "bool // 是否启用", "name": "string // 名称", "description": "string // 描述(备注)", "serverName": "string", "isCA": "bool", "certData": "bytes", "keyData": "bytes", "timeBeginAt": "int64", "timeEndAt": "int64", "dnsNames": "[]string", "commonNames": "[]string" } ``` **响应对象 (`CreateSSLCertsResponse`)** ```json { "sslCertIds": "[]int64" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/createSSLCerts" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## deleteSSLCert > 删除证书 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/deleteSSLCert` - RPC:`rpc deleteSSLCert (DeleteSSLCertRequest) returns (RPCSuccess);` **请求对象 (`DeleteSSLCertRequest`)** ```json { "sslCertId": "int64" } ``` **响应对象 (`RPCSuccess`)** ```json {} ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/deleteSSLCert" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## findEnabledSSLCertConfig > 查找证书配置 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/findEnabledSSLCertConfig` - RPC:`rpc findEnabledSSLCertConfig (FindEnabledSSLCertConfigRequest) returns (FindEnabledSSLCertConfigResponse);` **请求对象 (`FindEnabledSSLCertConfigRequest`)** ```json { "sslCertId": "int64" } ``` **响应对象 (`FindEnabledSSLCertConfigResponse`)** ```json { "sslCertJSON": "bytes" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/findEnabledSSLCertConfig" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## findSSLCertUser > 查找证书所属用户 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/findSSLCertUser` - RPC:`rpc findSSLCertUser(FindSSLCertUserRequest) returns (FindSSLCertUserResponse);` **请求对象 (`FindSSLCertUserRequest`)** ```json { "sslCertId": "int64 // 证书ID" } ``` **响应对象 (`FindSSLCertUserResponse`)** ```json { "user": "User // 用户信息,只包含几个基本的信息" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/findSSLCertUser" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## ignoreSSLCertsWithOCSPError > 忽略一组OCSP证书错误 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/ignoreSSLCertsWithOCSPError` - RPC:`rpc ignoreSSLCertsWithOCSPError (IgnoreSSLCertsWithOCSPErrorRequest) returns (RPCSuccess);` **请求对象 (`IgnoreSSLCertsWithOCSPErrorRequest`)** ```json { "sslCertIds": "[]int64" } ``` **响应对象 (`RPCSuccess`)** ```json {} ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/ignoreSSLCertsWithOCSPError" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## listSSLCerts > 列出单页匹配的证书 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/listSSLCerts` - RPC:`rpc listSSLCerts (ListSSLCertsRequest) returns (ListSSLCertsResponse);` **请求对象 (`ListSSLCertsRequest`)** ```json { "isCA": "bool // 可选项,是否为CA证书", "isAvailable": "bool // 可选项,是否可用(在有效期内)", "isExpired": "bool // 可选项, 是否已过期", "expiringDays": "int32 // 可选项,离过期日的天数", "keyword": "string // 可选项,关键词", "userId": "int64 // 可选项,用户ID,不填则表示读取管理员上传的证书", "domains": "[]string // 可选项,搜索使用的域名列表", "offset": "int64 // 读取位置", "size": "int64 // 读取长度,不能小于0", "userOnly": "bool // 可选项,只列出用户上传的证书" } ``` **响应对象 (`ListSSLCertsResponse`)** ```json { "sslCertsJSON": "bytes" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/listSSLCerts" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## listSSLCertsWithOCSPError > 列出有OCSP错误的证书 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/listSSLCertsWithOCSPError` - RPC:`rpc listSSLCertsWithOCSPError (ListSSLCertsWithOCSPErrorRequest) returns (ListSSLCertsWithOCSPErrorResponse);` **请求对象 (`ListSSLCertsWithOCSPErrorRequest`)** ```json { "keyword": "string // 关键词", "offset": "int64 // 读取位置", "size": "int64 // 数量,通常不能小于0" } ``` **响应对象 (`ListSSLCertsWithOCSPErrorResponse`)** ```json { "sslCerts": "[]SSLCert" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/listSSLCertsWithOCSPError" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## resetAllSSLCertsWithOCSPError > 重置所有证书OCSP错误状态 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/resetAllSSLCertsWithOCSPError` - RPC:`rpc resetAllSSLCertsWithOCSPError (ResetAllSSLCertsWithOCSPErrorRequest) returns (RPCSuccess);` **请求对象 (`ResetAllSSLCertsWithOCSPErrorRequest`)** ```json {} ``` **响应对象 (`RPCSuccess`)** ```json {} ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/resetAllSSLCertsWithOCSPError" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## resetSSLCertsWithOCSPError > 重置一组证书OCSP错误状态 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/resetSSLCertsWithOCSPError` - RPC:`rpc resetSSLCertsWithOCSPError (ResetSSLCertsWithOCSPErrorRequest) returns (RPCSuccess);` **请求对象 (`ResetSSLCertsWithOCSPErrorRequest`)** ```json { "sslCertIds": "[]int64" } ``` **响应对象 (`RPCSuccess`)** ```json {} ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/resetSSLCertsWithOCSPError" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## updateSSLCert > 修改证书 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/SSLCertService/updateSSLCert` - RPC:`rpc updateSSLCert (UpdateSSLCertRequest) returns (RPCSuccess);` **请求对象 (`UpdateSSLCertRequest`)** ```json { "sslCertId": "int64", "isOn": "bool // 是否启用", "name": "string // 名称", "description": "string // 描述(备注)", "serverName": "string", "isCA": "bool", "certData": "bytes", "keyData": "bytes", "timeBeginAt": "int64", "timeEndAt": "int64", "dnsNames": "[]string", "commonNames": "[]string" } ``` **响应对象 (`RPCSuccess`)** ```json {} ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/SSLCertService/updateSSLCert" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` ---