Sertifika oluşturmayı izleme ve yönetme
Şunlar için geçerlidir: Azure
Bu makalede özetlenen senaryolar / işlemler şunlardır:
- Desteklenen bir verenle KV Sertifikası isteme
- Bekleyen isteği alma - istek durumu "inProgress"
- Bekleyen isteği alma - istek durumu "tamamlandı"
- Bekleyen isteği alma - bekleyen istek durumu "iptal edildi" veya "başarısız"
- Bekleyen isteği alma - bekleyen istek durumu "silindi" veya "üzerine yazıldı"
- Bekleyen istek mevcut olduğunda oluştur (veya İçeri Aktar) - durum "inProgress"
- Bekleyen istek bir verenle oluşturulduğunda birleştirme (örneğin DigiCert)
- Bekleyen istek durumu "inProgress" olduğunda iptal isteğinde bulun
- Bekleyen istek nesnesini silme
- El ile KV sertifikası oluşturma
- Bekleyen bir istek oluşturulduğunda birleştirme - el ile sertifika oluşturma
Desteklenen bir verenle KV Sertifikası isteme
Metot | İstek URI'si |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
Aşağıdaki örneklerde, "mydigicert" adlı bir nesnenin anahtar kasanızda veren sağlayıcı olarak DigiCert olarak zaten kullanılabilir olması gerekir. Sertifika veren, Azure Key Vault'ta (KV) CertificateIssuer kaynağı olarak temsil edilen bir varlıktır. KV sertifikasının kaynağı hakkında bilgi sağlamak için kullanılır; veren adı, sağlayıcı, kimlik bilgileri ve diğer yönetim ayrıntıları.
İste
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "mydigicert",
"cty": "OV-SSL",
}
}
}
Response
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 alma - istek durumu "inProgress"
Metot | İstek URI'si |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Not
Sorguda request_id belirtilirse, filtre gibi davranır. Sorgudaki ve bekleyen nesnedeki request_id farklıysa, 404 http durum kodu döndürülür.
Response
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 alma - istek durumu "tamamlandı"
İstek
Metot | İstek URI'si |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Response
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 alma - bekleyen istek durumu "iptal edildi" veya "başarısız"
İstek
Metot | İstek URI'si |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Yanıtla
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 kodunun değeri sırasıyla verene veya kullanıcı hatasına göre "Sertifika veren hatası" veya "İstek reddedildi" olabilir.
Bekleyen isteği alma - bekleyen istek durumu "silindi" veya "üzerine yazıldı"
Durumu olmadığında, bekleyen bir nesne oluşturma/içeri aktarma işlemi inProgress
tarafından silinebilir veya üzerine yazılabilir.
Metot | İstek URI'si |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Response
StatusCode: 404, ReasonPhrase: 'Not Found'
{
"error": {
"code": "PendingCertificateNotFound",
"message": "…"
}
}
Bekleyen istek mevcut olduğunda oluştur (veya İçeri Aktar) - durum "inProgress"
Bekleyen nesnenin dört olası durumu vardır; "inprogress", "canceled", "failed" veya "completed."
Bekleyen bir isteğin durumu "inprogress" olduğunda oluşturma (ve içeri aktarma) işlemleri 409 (çakışma) http durum koduyla başarısız olur.
Çakışmayı düzeltmek için:
Sertifika el ile oluşturuluyorsa, bir birleştirme yaparak KV sertifikasını tamamlayabilir veya bekleyen nesnede silebilirsiniz.
Sertifika bir verenle oluşturuluyorsa, sertifika tamamlanana, başarısız olana veya iptal edilene kadar bekleyebilirsiniz. Alternatif olarak, bekleyen nesneyi silebilirsiniz.
Not
Bekleyen bir nesne silindiğinde sağlayıcı ile x509 sertifika isteği iptal edilebilir veya iptal edilmeyebilir.
Metot | İstek URI'si |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
İste
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "mydigicert"
}
}
}
Response
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."
}
}
Bekleyen istek bir verenle oluşturulduğunda birleştirme
Bir verenle bekleyen bir nesne oluşturulduğunda birleştirmeye izin verilmez, ancak durumu olduğunda inProgress
bu nesneye izin verilir.
x509 sertifikasını oluşturma isteği başarısız olursa veya bir nedenle iptal edilirse ve x509 sertifikası bant dışı araçlarla alınabiliyorsa, KV sertifikasını tamamlamak için birleştirme işlemi yapılabilir.
Metot | İstek URI'si |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version} |
İste
{
"x5c": [ "MIICxTCCAbi………………………trimmed for brevitiy……………………………………………EPAQj8=" ]
}
Response
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 "inProgress" olduğunda iptal isteğinde bulun
İptal yalnızca talep edilebilir. İstek iptal edilebilir veya iptal edilmeyebilir. İstek "inProgress" değilse, 400 (Hatalı İstek) http durumu döndürülür.
Metot | İstek URI'si |
---|---|
PATCH | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
YAMA “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
YAMA “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
{
"cancellation_requested": true
}
Response
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 istek nesnesini silme
Not
Bekleyen nesne silindiğinde, sağlayıcıyla x509 sertifika isteği iptal edilebilir veya iptal edilmeyebilir.
Metot | İstek URI'si |
---|---|
SİL | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
İstek
SİLMEK “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
VEYA
SİLMEK “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Response
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",
}
El ile KV sertifikası oluşturma
El ile oluşturma işlemi aracılığıyla, seçtiğiniz bir CA ile verilen bir sertifika oluşturabilirsiniz. Verenin adını "Bilinmiyor" olarak ayarlayın veya veren alanını belirtmeyin.
Metot | İstek URI'si |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
İste
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "Unknown"
}
}
}
Response
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ştirme - el ile sertifika oluşturma
Metot | İ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ı | Zorunlu | Tür | Sürüm | Açıklama |
---|---|---|---|---|
x5c | Yes | dizi | <sürüm tanıtımı> | Temel 64 dize dizisi olarak X509 sertifika zinciri. |
Yanıtla
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
}
}
}