يُرجى الانتقال إلى Cert Provisioning API للاطّلاع على نظرة عامة حول ميزات واجهة برمجة التطبيقات.
تستخدِم جميع الطلبات الواردة في هذه الصفحة المتغيّرات التالية:
$TOKEN
- رمز OAuth2 المميّز أو رمز JWT الموقَّع ذاتيًا$CUSTOMER
- رقم تعريف العميل أو القيمة الثابتةmy_customer
$CERT_PROVISIONING_PROCESS
: رقم تعريف عملية توفير الشهادة التي تم إرسالها إلى محوِّل توفير الشهادة في رسالة Pub/Sub الأولية$OPERATION
- رقم تعريف العملية التي تستغرق وقتًا طويلاً
الحصول على عملية توفير شهادة
الحصول على مورد
CertificateProvisioningProcess
استنادًا إلى حالة عملية توفير الشهادة، لا تتم تعبئة
جميع حقول مورد CertificateProvisioningProcess
في الردّ.
الطلب
curl -H "Authorization: Bearer $TOKEN" \
https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS
الردّ
يتم إنشاء الردّ التالي قبل أن يُطلب من العميل التوقيع على البيانات.
{
"name": "customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS",
"provisioningProfileId": "43b413f9-5ecd-4bf6-b431-f2df56ce852e",
"subjectPublicKeyInfo": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqtbosvGe1JzJJYBPsPzFY33xD9fSJhQLZh21ELD2vEZ5OSzxXzQOhlXZ2Mv4C3m4zn8mjuYykprBxaMggryd8kyhycm2DDsL2/KUkdQNPnv6mBQ8iionF84iabh+FWph1CU63j2vCPnw0VYSv7cz+bHsxs3tXFB7PqqQZr7WcWAAxFaIqoTkJrTGMzDFs8GHUA6mFhMj0WsPzp3aicj24uW0AAJjVFmiZ+pz1lOOL4coNsVrujrX2E6lU8AHjmoQT6ThRVnuo1jFXoASB4A1It6dtu/P8L3zhsVWYRtOZjLLVvGryzT8z0A8iW5k+apkb465jgLd2vuxFPekAgPRDwIDAQAB",
"chromeOsDevice": {
"deviceDirectoryApiId": "abcdefgh-ijkl-mnop-qrst-uvwxyz0123456",
"serialNumber": "0123456789"
},
"startTime": "2025-03-07T13:38:54.930621Z",
"genericCaConnection": {
"caConnectionAdapterConfigReference": "default_ca_config"
},
"genericProfile": {
"profileAdapterConfigReference": "device_profile"
}
}
المطالبة بعملية توفير شهادة
يطلب محوِّل توفير الشهادات عملية توفير شهادة. في حال تنفيذ عدّة نُسخ من "المحوِّل" بشكل متزامن، يضمن ذلك أنّ عملية توفير الشهادات تتم من خلال نسخة "المحوِّل" نفسها. وهذه الخطوة ضرورية أيضًا إذا كان هناك مثيل واحد فقط من Adapter.
الطلب
curl -H "Authorization: Bearer $TOKEN" \
--json '{"callerInstanceId": "adapter_instance_1"}' \
https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS:claim
الردّ
إذا لم يتمّ طلب عملية توفير الشهادة من قبل، يتمّ عرض ردّ فارغ.
{}
إذا سبق أن تمّت المطالبة بعملية توفير الشهادة من خلال مثيل
محوِّل آخر، سيتعذّر تنفيذ طلب claim
وسيظهر خطأ 400 "الخطأ 400: طلب غير صالح".
طلب توقيع لإثبات صحة معلومات الاتصال
اطلب من العميل الذي يطلب شهادة توقيع بعض البيانات باستخدام SignatureAlgorithm المحدّدة
مع المفتاح الخاص المقابل للمفتاح العام في عملية
توفير الشهادة. يمثّل الرمز $DATA_TO_SIGN
البيانات المشفّرة بترميز Base64 والتي
يوقعها العميل.
الطلب
curl -H "Authorization: Bearer $TOKEN" \
--json '{"signData": "$DATA_TO_SIGN","signatureAlgorithm":"SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256"}'\
https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS:signData
الردّ
تحتوي الاستجابة على عملية يتم فيها تعبئة حقل البيانات الوصفية برسالة proto من النوع SignDataMetadata.
{
"name": "customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS/operations/$OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.chrome.management.versions.v1.SignDataMetadata",
"startTime": "2025-03-07T14:44:06.156385Z"
}
}
الحصول على عملية تستغرق وقتًا طويلاً
الحصول على آخر حالة لعملية طويلة الأمد تم إرجاعها من طلب SignData
الطلب
curl -H "Authorization: Bearer $TOKEN" \
https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS/operations/$OPERATION
الردّ
تتم تعبئة الحقل metadata
في
Operation
برسالة proto من نوع
SignDataMetadata. إذا كان الحقل response
متاحًا في Operation، يتم ملؤه برسالة
SignDataResponse
proto.
في حال استمرار العملية التي تستغرق وقتًا طويلاً:
{
"name": "customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS/operations/$OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.chrome.management.versions.v1.SignDataMetadata",
"startTime": "2025-03-07T14:44:06.156385Z"
}
}
في حال اكتمال العملية التي تستغرق وقتًا طويلاً بنجاح:
{
"name": "customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS/operations/$OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.chrome.management.versions.v1.SignDataMetadata",
"startTime": "2025-03-07T14:44:06.156385Z"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.chrome.management.versions.v1.SignDataResponse",
"certificateProvisioningProcess": {
"name": "customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS",
"provisioningProfileId": "43b413f9-5ecd-4bf6-b431-f2df56ce852e",
"subjectPublicKeyInfo": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqtbosvGe1JzJJYBPsPzFY33xD9fSJhQLZh21ELD2vEZ5OSzxXzQOhlXZ2Mv4C3m4zn8mjuYykprBxaMggryd8kyhycm2DDsL2/KUkdQNPnv6mBQ8iionF84iabh+FWph1CU63j2vCPnw0VYSv7cz+bHsxs3tXFB7PqqQZr7WcWAAxFaIqoTkJrTGMzDFs8GHUA6mFhMj0WsPzp3aicj24uW0AAJjVFmiZ+pz1lOOL4coNsVrujrX2E6lU8AHjmoQT6ThRVnuo1jFXoASB4A1It6dtu/P8L3zhsVWYRtOZjLLVvGryzT8z0A8iW5k+apkb465jgLd2vuxFPekAgPRDwIDAQAB",
"chromeOsDevice": {
"deviceDirectoryApiId": "abcdefgh-ijkl-mnop-qrst-uvwxyz0123456",
"serialNumber": "0123456789"
},
"startTime": "2025-03-07T13:38:54.930621Z",
"signData": "ZGF0YSB0byBzaWduCg==",
"signatureAlgorithm": "SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256",
"signature": "mPfL8v/DR+ZqbtJ6X5cJCTrzfOO3wPHCY8nV/stbokdNZnkRJ8U0PBzgm6pWy08pMmOfrs9ZMBXcQ0i05Oe6AwgHYYN5RHuwdnhAklJYriDT4fXdzewD6KuA6x7ZX1d2xYnh0p2XczcdNOJsrz2T/p+89PLcB6I1PIg1Cwz4I1YCAS2OMAQF5DxS+SvMpPbkdzkNG4SCCL/hJNayxRMr98SbQ0aQE77AtxzpXGof5cBEBOcbQ+T+kBIgArQ87D6bQVHVB3di+TvYepK6hwxiLbhCEDGHgi2DfMp8kEWnAVPVzi6xht5jPNhVqILALRbQQ1nUjlP8UO+/y+WR4M36Yg==",
"genericCaConnection": {
"caConnectionAdapterConfigReference": "default_ca_config"
},
"genericProfile": {
"profileAdapterConfigReference": "device_profile"
}
}
}
}
في حال تعذّر إتمام العملية التي تستغرق وقتًا طويلاً:
{
"name": "customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS/operations/$OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.chrome.management.versions.v1.SignDataMetadata",
"startTime": "2025-03-07T14:44:06.156385Z"
},
"done": true,
"error": {
"code": 3,
"message": "The requested SignData LRO failed because the corresponding certificate provisioning process is in failure state CERTIFICATE_PROVISIONING_RESULT_ERROR_INVALID_SIGNATURE with the following error message: The proof of possession signature is invalid. [operationId=$OPERATION, cppId=$CERT_PROVISIONING_PROCESS, customerId=$CUSTOMER]"
}
}
تحميل شهادة
حمِّل شهادة X.509 بتنسيق PEM. في نموذج الطلب، يُشار إلى الشهادة المُشفَّرة بتنسيق PEM باستخدام المتغيّر $CERTIFICATE_IN_PEM_FORMAT
.
الطلب
curl -H "Authorization: Bearer $TOKEN" \
--json '{"certificatePem": "$CERTIFICATE_IN_PEM_FORMAT"}' \
https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS:uploadCertificate
الردّ
{}
الإبلاغ عن تعذُّر عملية توفير شهادة
وضع علامة على عملية توفير شهادة تشير إلى أنّها تعذّرت وضبط رسالة خطأ مناسبة يتم نشر رسالة الخطأ إلى عميل ChromeOS الذي بدأ عملية توفير الشهادة.
الطلب
curl -H "Authorization: Bearer $TOKEN" \
--json '{"errorMessage": "The CA could not issue the certificate."}' \
https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/certificateProvisioningProcesses/$CERT_PROVISIONING_PROCESS:setFailure
الردّ
{}