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

Yöntem İstek URI'si
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Aşağıdaki örnekler, "mydigicert" adlı bir nesnenin anahtar kasanızda DigiCert olarak veren sağlayıcıyla birlikte zaten kullanılabilir olmasını gerektirir. Sertifikayı veren, Azure Key Vault'de (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; 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 alma - istek durumu "inProgress"

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, 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 alma - istek durumu "tamamlandı"

İ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 alma - 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 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ı"

Bekleyen bir nesne, durumu olmadığında inProgressoluş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 mevcut olduğunda oluştur (veya İçeri Aktar) - durum "inProgress"

Bekleyen bir 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, 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ıdan gelen x509 sertifika isteği iptal edilebilir veya iptal edilmeyebilir.

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."
  }
}

Bekleyen istek bir verenle oluşturulduğunda birleştirme

Bir veren ile bekleyen bir nesne oluşturulduğunda birleştirmeye izin verilmez, ancak durumu olduğunda inProgressizin verilir.

x509 sertifikasını oluşturma isteği herhangi bir nedenle başarısız olursa veya iptal edilirse ve x509 sertifikası bant dışı yollarla alınabiliyorsa, KV sertifikasını tamamlamak için 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 "inProgress" olduğunda iptal isteğinde bulun

İptal yalnızca talep edilebilir. İstek iptal edilebilir veya iptal edilmeyebilir. İstek "inProgress" değilse, http durumu 400 (Hatalı İstek) döndürülür.

Yöntem İstek URI'si
YAMA 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
}

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 istek nesnesini silme

Not

Bekleyen nesneyi silmek, sağlayıcıdan gelen x509 sertifika isteğini iptal edebilir veya iptal etmeyebilir.

Yöntem İstek URI'si
DELETE 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}"

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",
}

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.

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ştirme - 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 <sürüm tanıtımı> Temel 64 dize dizisi olarak X509 sertifika zinciri.

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
		}
	}
}