跳到主要内容

PHP SDK 使用教程

安装

composer require quantumca/sdk -vvv

使用

初始化 SDK

use QuantumCA\Sdk\Client;

require __DIR__ . '/../vendor/autoload.php';

$sdk = new Client('修改成accessKeyId', '修改成accessKeySecret');

产品及成本列表

接口文档

$result = $sdk->product->productList();
print_r($result->products);

证书下单

接口文档

use QuantumCA\Sdk\Requests\CertificateCreateRequest;


$request = new CertificateCreateRequest();
$request->unique_id = uniqid();
$request->product_id = 'sslcom_dv_flex';
$request->period = 'Quarterly';
$request->csr = "-----BEGIN CERTIFICATE REQUEST-----\nMIICzTCCAbUCAQAwWzELMAkGA1UEBhMCQ04xGDAWBgNVBAgTD3d3dy5leGFtcGxl\nLmNvbTEYMBYGA1UEBxMPd3d3LmV4YW1wbGUuY29tMRgwFgYDVQQDEw93d3cuZXhh\nbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC38dxP/7Ou\n6MLqJmT57rKGKeSSOJcor4TyeFDY+clxMilR74V55fKz9nP2Wsm1WRzeOb8MSSSM\ngWw+Ktkj/VDkA3O31ZKTLBu8CDyF09rNlK8NYOHVVtS43VUdzfNdTK03o4LN54xI\nxrsveiHmb3S1wrf68XJB+458arkwHiBSSyNkdt34fzAVrjO2sAyOCsq0GtHA0NNY\nHkBU6Y1bB0Xe1ZNu75cawR/T75Z6l4bBSAxFVgbhHX+iHEIUXKtp98RErrthEu+M\nHoJ5tTUyHhGE/h9UOIKHw+Ktug70mfrJpsCsfw1fCA8AOd/L0Y4I7xOgcDgnpu8q\na+ZHSP5ygatBAgMBAAGgLTArBgkqhkiG9w0BCQ4xHjAcMBoGA1UdEQQTMBGCD3d3\ndy5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAXmZUcBccqNGQEWnkrtBO\n9FDmeWzex0yxOhkDRX/xp+qX2oR7d7kIPUlCEqNnrkwKaca1giz2FcdKnHwZ4rB0\nf3tyte6XsQFFjKngL8/e/hGXIN12wavbJI1rDhinTCG4BtDk4az8rBS/69o1TYo9\nuaBS8GTNXsKjSDVVxuaXVoQQCVwqsc2BUDj2/HxdPn6tUao9SXcLZ4iMv6qoINCo\ndiK/1y9ITQ4xSNwU8o2lQfcoRKa31/xUqBvpHzSFJKV32r9F5XBknXTa/wnp/9+a\nWcVwqp39jUMyUdcXowqWCCguX1ESracb7Z5yeFnEUzseEw4jmeKqv1aAqf47qXPl\nKw==\n-----END CERTIFICATE REQUEST-----";
$request->contact_email = 'contact@example.com';
$request->domain_dcv = [
'www.example.com' => 'dns',
'example.com' => 'dns',
'2.example.com' => 'dns',
];
$request->notify_url = 'https://app.example.com/notify';

$result = $sdk->order->certificateCreate($request);

$service_id = $result->service_id;
echo "下单成功:" . $service_id . PHP_EOL;
print_r($result);

获取证书详情状态

接口文档

use QuantumCA\Sdk\Requests\CertificateDetailRequest;

$request = new CertificateDetailRequest;
$request->service_id = $service_id;
$result = $sdk->order->certificateDetail($request);
print_r($result);

通知CA执行验证域名

接口文档

use QuantumCA\Sdk\Requests\CertificateValidateDcvRequest;

$request = new CertificateValidateDcvRequest;
$request->service_id = $service_id;
$result = $sdk->order->certificateValidateDcv($request);
print_r($result);

删除无法验证的域名

接口文档

use QuantumCA\Sdk\Requests\CertificateRemoveSanRequest;

$request = new CertificateRemoveSanRequest;
$request->service_id = $service_id;
$request->domain = '2.example.com';
$result = $sdk->order->certificateRemoveSan($request);
print_r($result);

更新域名验证方式

接口文档

use QuantumCA\Sdk\Requests\CertificateUpdateDcvRequest;

$request = new CertificateUpdateDcvRequest;
$request->service_id = $service_id;
$request->domain_dcv = [
'www.example.com' => 'http',
'example.com' => 'http',
'2.example.com' => 'postmaster@example.com'
];
$result = $sdk->order->certificateUpdateDcv($request);
print_r($result);

证书重签名

接口文档

use QuantumCA\Sdk\Requests\CertificateReissueRequest;

$request = new CertificateReissueRequest;
$request->unique_id = uniqid();
$request->service_id = $service_id;
$request->csr = "-----BEGIN CERTIFICATE REQUEST-----\nMIICzTCCAbUCAQAwWzELMAkGA1UEBhMCQ04xGDAWBgNVBAgTD3d3dy5leGFtcGxl\nLmNvbTEYMBYGA1UEBxMPd3d3LmV4YW1wbGUuY29tMRgwFgYDVQQDEw93d3cuZXhh\nbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC38dxP/7Ou\n6MLqJmT57rKGKeSSOJcor4TyeFDY+clxMilR74V55fKz9nP2Wsm1WRzeOb8MSSSM\ngWw+Ktkj/VDkA3O31ZKTLBu8CDyF09rNlK8NYOHVVtS43VUdzfNdTK03o4LN54xI\nxrsveiHmb3S1wrf68XJB+458arkwHiBSSyNkdt34fzAVrjO2sAyOCsq0GtHA0NNY\nHkBU6Y1bB0Xe1ZNu75cawR/T75Z6l4bBSAxFVgbhHX+iHEIUXKtp98RErrthEu+M\nHoJ5tTUyHhGE/h9UOIKHw+Ktug70mfrJpsCsfw1fCA8AOd/L0Y4I7xOgcDgnpu8q\na+ZHSP5ygatBAgMBAAGgLTArBgkqhkiG9w0BCQ4xHjAcMBoGA1UdEQQTMBGCD3d3\ndy5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAXmZUcBccqNGQEWnkrtBO\n9FDmeWzex0yxOhkDRX/xp+qX2oR7d7kIPUlCEqNnrkwKaca1giz2FcdKnHwZ4rB0\nf3tyte6XsQFFjKngL8/e/hGXIN12wavbJI1rDhinTCG4BtDk4az8rBS/69o1TYo9\nuaBS8GTNXsKjSDVVxuaXVoQQCVwqsc2BUDj2/HxdPn6tUao9SXcLZ4iMv6qoINCo\ndiK/1y9ITQ4xSNwU8o2lQfcoRKa31/xUqBvpHzSFJKV32r9F5XBknXTa/wnp/9+a\nWcVwqp39jUMyUdcXowqWCCguX1ESracb7Z5yeFnEUzseEw4jmeKqv1aAqf47qXPl\nKw==\n-----END CERTIFICATE REQUEST-----";
$request->contact_email = 'contact@example.com';
$request->domain_dcv = [
'www.example.com' => 'dns',
'example.com' => 'dns',
'2.example.com' => 'dns',
];
$result = $sdk->order->certificateReissue($request);
print_r($result);

证书退款

接口文档

use QuantumCA\Sdk\Requests\CertificateRefundRequest;

$request = new CertificateRefundRequest;
$request->service_id = $service_id;
$result = $sdk->order->certificateRefund($request);
print_r($result);

智能感知

基本上所有的返回和参数,VS Code 或 PHPStorm 均能智能提示。

Intellisense.png