Sdílet prostřednictvím


Monitorování a správa vytvoření certifikátu

Platí pro: Azure

Scénáře a operace popsané v tomto článku:

  • Vyžádání certifikátu KV s podporovaným vystavitelem
  • Získání čekající žádosti – stav požadavku je inProgress
  • Získání čekající žádosti – stav žádosti je dokončený
  • Získání čekající žádosti – stav čekající žádosti je zrušený nebo neúspěšný
  • Získání čekající žádosti – stav čekající žádosti je "odstraněn" nebo "přepsán".
  • Vytvoření (nebo import), pokud existuje čekající požadavek – stav je inProgress
  • Sloučení při vytvoření čekající žádosti s vystavitelem (například DigiCert)
  • Žádost o zrušení, zatímco stav čekající žádosti je inProgress
  • Odstranění objektu čekajícího požadavku
  • Ruční vytvoření certifikátu KV
  • Sloučení při vytvoření čekající žádosti – ruční vytvoření certifikátu

Vyžádání certifikátu KV s podporovaným vystavitelem

metoda Identifikátor URI žádosti
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Následující příklady vyžadují, aby objekt s názvem mydigicert již byl ve vašem trezoru klíčů k dispozici s poskytovatelem vystavitele jako DigiCert. Vystavitel certifikátu je entita reprezentovaná ve službě Azure Key Vault (KV) jako prostředek CertificateIssuer. Slouží k poskytování informací o zdroji certifikátu KV; název vystavitele, poskytovatel, přihlašovací údaje a další podrobnosti o správě.

Požádat

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

Získání čekající žádosti – stav požadavku je inProgress

metoda Identifikátor URI žádosti
GET https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Žádost

GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"

NEBO

GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"

Poznámka:

Pokud je v dotazu zadán request_id , funguje jako filtr. Pokud se request_id v dotazu a čekající objekt liší, vrátí se stavový kód HTTP 404.

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

Získání čekající žádosti – stav žádosti je dokončený

Žádost

metoda Identifikátor URI žádosti
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"

NEBO

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

Získání čekající žádosti – stav čekající žádosti je zrušený nebo neúspěšný

Žádost

metoda Identifikátor URI žádosti
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"

NEBO

GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"

Odpověď respondenta

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

Poznámka:

Hodnota kódu chyby může být Chyba vystavitele certifikátu nebo Žádost zamítnuta na základě vystavitele nebo chyby uživatele.

Získání čekající žádosti – stav čekající žádosti je "odstraněn" nebo "přepsán".

Čekající objekt lze odstranit nebo přepsat operací vytvoření/importu, pokud není inProgressjeho stav .

metoda Identifikátor URI žádosti
GET https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Žádost

GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"

NEBO

GET “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"

Response

StatusCode: 404, ReasonPhrase: 'Not Found'
{
  "error": {
    "code": "PendingCertificateNotFound",
    "message": "…"
  }
}

Vytvoření (nebo import), pokud existuje čekající požadavek – stav je inProgress

Čekající objekt má čtyři možné stavy; "inprogress", "canceled", "failed" nebo "completed"

Pokud je stav čekajícího požadavku "inprogress", operace vytváření (a importu) selžou se stavovým kódem HTTP 409 (konflikt).

Oprava konfliktu:

  • Pokud se certifikát vytváří ručně, můžete certifikát KV dokončit sloučením nebo odstraněním čekajícího objektu.

  • Pokud se certifikát vytváří s vystavitelem, můžete počkat, až se certifikát dokončí, selže nebo se zruší. Případně můžete odstranit čekající objekt.

Poznámka:

Odstranění čekajícího objektu může nebo nemusí zrušit žádost o certifikát x509 u zprostředkovatele.

metoda Identifikátor URI žádosti
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Požádat

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

Sloučení při vytvoření čekající žádosti s vystavitelem

Sloučení není povoleno při vytvoření čekajícího objektu s vystavitelem, ale je povolen, pokud je inProgressjeho stav .

Pokud se žádost o vytvoření certifikátu x509 z nějakého důvodu nezdaří nebo zruší a pokud je možné certifikát x509 načíst mimo pásmové prostředky, je možné provést operaci sloučení pro dokončení certifikátu KV.

metoda Identifikátor URI žádosti
POST https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version}

Požádat

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

Žádost o zrušení, zatímco stav čekající žádosti je inProgress

O zrušení je možné požádat pouze. Žádost může nebo nemusí být zrušena. Pokud požadavek není inProgress, vrátí se stav HTTP 400 (Chybný požadavek).

metoda Identifikátor URI žádosti
PATCH https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Žádost

ZÁPLATA “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"

NEBO

ZÁPLATA “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"
}

Odstranění objektu čekajícího požadavku

Poznámka:

Odstranění čekajícího objektu může nebo nemusí zrušit žádost o certifikát x509 u zprostředkovatele.

metoda Identifikátor URI žádosti
DELETE https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Žádost

VYMAZAT “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"

NEBO

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

Ruční vytvoření certifikátu KV

Certifikát vydaný certifikační autoritou podle vašeho výběru můžete vytvořit prostřednictvím ručního procesu vytváření. Nastavte název vystavitele na Neznámý nebo nezadávejte pole vystavitele.

metoda Identifikátor URI žádosti
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Požádat

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

Sloučení při vytvoření čekající žádosti – ruční vytvoření certifikátu

metoda Identifikátor URI žádosti
POST https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version}

Žádost

{
  "x5c": [ "MIICxTCCAbi………………………trimmed for brevitiy……………………………………………EPAQj8=" ]
}

Název prvku Požaduje se Typ Verze Popis
x5c Ano pole <představujeme verzi> Řetěz certifikátů X509 jako pole řetězců base 64

Odpověď

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