Sertifika oluşturmayı izleme ve yönetme
Uygulama hedefi: Azure
Bu makalede özetlenen senaryolar/işlemler şunlardır:
- Desteklenen bir veren ile KV sertifikası isteme
- Bekleyen isteği Al-istek durumu "sürüyor"
- Bekleyen isteği Al-istek durumu "tam"
- Bekleyen isteği al-bekleyen istek durumu "iptal edildi" veya "başarısız"
- Bekleyen isteği al-bekleyen istek durumu "silindi" veya "üzerine yazıldı"
- Bekleyen istek var olduğunda oluştur (veya Içeri aktar)-durum "sürüyor" dır
- İstek veren (DigiCert) ile bekleyen istek oluşturulduğunda Birleştir
- Bekleyen istek durumu "sürüyor" iken bir iptal iste
- Bekleyen bir istek nesnesini Sil
- Bir KV sertifikasını el ile oluşturma
- Bekleyen bir istek oluşturulduğunda Birleştir-el ile sertifika oluşturma
Desteklenen bir veren ile KV sertifikası isteme
| Yöntem | İstek URI'si |
|---|---|
| POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
Aşağıdaki örneklerde, "mydigicert" adlı bir nesne, zaten bir örnek kasasında, bir sertifika veren sağlayıcısı ile DigiCert olarak kullanılabilir. Sertifika veren, bir Certificateıssuer kaynağı olarak Azure Key Vault (KV) ile temsil edilen bir varlıktır. Bir KV sertifikasının kaynağı hakkında bilgi sağlamak için kullanılır; verenin adı, sağlayıcı, kimlik bilgileri ve diğer yönetim ayrıntıları.
İstek
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "mydigicert",
"cty": "OV-SSL",
}
}
}
Yanıt
StatusCode: 202, ReasonPhrase: 'Accepted'
Location: “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "mydigicert"
},
"csr": "MIICq......DD5Lp5cqXg==",
"cancellation_requested": false,
"status": "InProgress",
"status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later",
"request_id": "a76827a18b63421c917da80f28e9913d"
}
Bekleyen isteği Al-istek durumu "sürüyor"
| Yöntem | İstek URI'si |
|---|---|
| GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Not
Sorguda request_id belirtilirse, bir filtre gibi davranır. Sorgudaki ve bekleyen nesnedeki request_id farklıysa, 404 HTTP durum kodu döndürülür.
Yanıt
StatusCode: 200, ReasonPhrase: 'OK'
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "{issuer-name}"
},
"csr": "MIICq......DD5Lp5cqXg==",
"cancellation_requested": false,
"status": "inProgress",
"status_details": "…",
"request_id": "a76827a18b63421c917da80f28e9913d"
}
Bekleyen isteği Al-istek durumu "tam"
İstek
| Yöntem | İstek URI'si |
|---|---|
| GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Yanıt
StatusCode: 200, ReasonPhrase: 'OK'
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "{issuer-name}"
},
"csr": "MIICq......DD5Lp5cqXg==",
"cancellation_requested": false,
"status": "completed",
"request_id": "a76827a18b63421c917da80f28e9913d",
"target": “https://mykeyvault.vault.azure.net/certificates/mycert1?api-version={api-version}"
}
Bekleyen isteği al-bekleyen istek durumu "iptal edildi" veya "başarısız"
İstek
| Yöntem | İstek URI'si |
|---|---|
| GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Yanıt
StatusCode: 200, ReasonPhrase: 'OK'
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "{issuer-name}"
},
"csr": "MIICq......DD5Lp5cqXg==",
"cancellation_requested": false,
"status": "failed",
"status_details": "",
"request_id": "a76827a18b63421c917da80f28e9913d",
"error": {
"code": "<errorcode>",
"message": "<message>"
}
}
Not
Hata kodu değeri, "sertifika veren hatası" veya "istek reddedildi" veya sırasıyla Kullanıcı hatası temelinde olabilir.
Bekleyen isteği al-bekleyen istek durumu "silindi" veya "üzerine yazıldı"
Bekleyen bir nesne, durumu "sürüyor" olmadığında bir oluşturma/içeri aktarma işlemi tarafından silinebilir veya üzerine yazılabilir.
| Yöntem | İstek URI'si |
|---|---|
| GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
Al “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Yanıt
StatusCode: 404, ReasonPhrase: 'Not Found'
{
"error": {
"code": "PendingCertificateNotFound",
"message": "…"
}
}
Bekleyen istek var olduğunda oluştur (veya Içeri aktar)-durum "sürüyor" dır
Bekleyen bir nesne dört olası duruma sahiptir; "sürüyor", "iptal edildi", "başarısız" veya "tamamlandı".
Bekleyen bir isteğin durumu "sürüyor" olduğunda, oluşturma (ve içeri aktarma) işlemleri http durum kodu 409 (çakışma) ile başarısız olur.
Bir çakışmayı onarmak için:
Sertifika el ile oluşturulduysa, bekleyen nesnede bir birleştirme veya silme yaparak KV sertifikasını tamamlayabilirsiniz.
Sertifika bir veren ile oluşturulduysa, sertifika tamamlanana kadar bekleyebilir, başarısız olur veya iptal edilebilir. Alternatif olarak, bekleyen nesneyi silebilirsiniz.
Not
Bekleyen bir nesnenin silinmesi, sağlayıcıya yönelik x509 sertifika isteğini iptal edebilir veya iptal edemeyebilir.
| Yöntem | İstek URI'si |
|---|---|
| POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
İstek
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "mydigicert"
}
}
}
Yanıt
StatusCode: 409, ReasonPhrase: 'Conflict'
{
"error": {
"code": "Forbidden",
"message": "A new key vault certificate can not be created or imported while a pending key vault certificate's status is inProgress."
}
}
Bir veren ile bekleyen istek oluşturulduğunda Birleştir
Bekleyen bir nesne veren ile oluşturulduğunda ancak durumu "sürüyor" olduğunda birleştirmeye izin verilmez.
X509 sertifikası oluşturma isteği başarısız olursa veya bazı nedenlerle iptal ederse ve bir x509 sertifikası bant dışı yollarla alınamazsa, KV sertifikasını tamamlamaya yönelik bir birleştirme işlemi yapılabilir.
| Yöntem | İstek URI'si |
|---|---|
| POST | https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version} |
İstek
{
"x5c": [ "MIICxTCCAbi………………………trimmed for brevitiy……………………………………………EPAQj8=" ]
}
Yanıt
StatusCode: 403, ReasonPhrase: 'Forbidden'
{
"error": {
"code": "Forbidden",
"message": "Merge is forbidden on pending object created with issuer : <issuer-name> while it is in progess."
}
}
Bekleyen istek durumu "sürüyor" iken bir iptal iste
İptal etme yalnızca istenebilir. İstek iptal edilmiş olabilir veya iptal edilemez. Bir istek "InProgress" değilse, 400 (Hatalı Istek) http durumu döndürülür.
| Yöntem | İstek URI'si |
|---|---|
| DÜZELTMESI | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
DÜZELTMESI “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
DÜZELTMESI “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
{
"cancellation_requested": true
}
Yanıt
StatusCode: 200, ReasonPhrase: 'OK'
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "{issuer-name}"
},
"csr": "MIICq......DD5Lp5cqXg==",
"cancellation_requested": true,
"status": "inProgress",
"status_details": "…",
"request_id": "a76827a18b63421c917da80f28e9913d"
}
Bekleyen bir istek nesnesini Sil
Not
Bekleyen nesnenin silinmesi, sağlayıcıya yönelik x509 sertifika isteğini iptal edebilir veya iptal edemeyebilir.
| Yöntem | İstek URI'si |
|---|---|
| DELETE | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
SILMELI “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
SILMELI “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Yanıt
StatusCode: 200, ReasonPhrase: 'OK'
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "{issuer-name}"
},
"csr": "MIICq......DD5Lp5cqXg==",
"cancellation_requested": false,
"status": "inProgress",
"request_id": "a76827a18b63421c917da80f28e9913d",
}
Bir KV sertifikasını el ile oluşturma
El ile oluşturma işlemi aracılığıyla tercih ettiğiniz bir CA ile verilen bir sertifika oluşturabilirsiniz. Verenin adını "bilinmiyor" olarak ayarlayın veya veren alanını belirtmeyin.
| Yöntem | İstek URI'si |
|---|---|
| POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
İstek
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "Unknown"
}
}
}
Yanıt
StatusCode: 202, ReasonPhrase: 'Accepted'
Location: “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
{
"id": “https://mykeyvault.vault.azure.net/certificates/mycert1/pending",
"issuer": {
"name": "Unknown"
},
"csr": "MIICq......DD5Lp5cqXg==",
"status": "inProgress",
"status_details": "Pending certificate created. Please Perform Merge to complete the request.",
"request_id": "a76827a18b63421c917da80f28e9913d"
}
Bekleyen bir istek oluşturulduğunda Birleştir-el ile sertifika oluşturma
| Yöntem | İstek URI'si |
|---|---|
| POST | https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version} |
İstek
{
"x5c": [ "MIICxTCCAbi………………………trimmed for brevitiy……………………………………………EPAQj8=" ]
}
| Öğe adı | Gerekli | Tür | Sürüm | Açıklama |
|---|---|---|---|---|
| x5c | Yes | array | <introducing version> | X509 sertifika zinciri temel 64 dize dizisi olarak. |
Yanıt
StatusCode: 201, ReasonPhrase: 'Created'
Location: “https://mykeyvault.vault.azure.net/certificates/mycert1?api-version={api-version}"
{
"id": "https mykeyvault.vault.azure.net/certificates/mycert1/f366e1a9dd774288ad84a45a5f620352",
"kid": "https:// mykeyvault.vault.azure.net/keys/mycert1/f366e1a9dd774288ad84a45a5f620352",
"sid": " mykeyvault.vault.azure.net/secrets/mycert1/f366e1a9dd774288ad84a45a5f620352",
"cer": "……de34534……",
"x5t": "n14q2wbvyXr71Pcb58NivuiwJKk",
"attributes": {
"enabled": true,
"exp": 1530394215,
"nbf": 1435699215,
"created": 1435699919,
"updated": 1435699919
},
"pending": {
"id": "https:// mykeyvault.vault.azure.net/certificates/mycert1/pending"
},
"policy": {
"id": "https:// mykeyvault.vault.azure.net/certificates/mycert1/policy",
"key_props": {
"exportable": false,
"kty": "RSA",
"key_size": 2048,
"reuse_key": false
},
"secret_props": {
"contentType": "application/x-pkcs12"
},
"x509_props": {
"subject": "CN=Mycert1",
"ekus": ["1.3.6.1.5.5.7.3.1", "1.3.6.1.5.5.7.3.2"],
"validity_months": 12
},
"lifetime_actions": [{
"trigger": {
"lifetime_percentage": 80
},
"action": {
"action_type": "EmailContacts"
}
}],
"issuer": {
"name": "Unknown"
},
"attributes": {
"enabled": true,
"created": 1435699811,
"updated": 1435699811
}
}
}