Freigeben über


Zertifikaterstellung überwachen und verwalten

Gilt für: Azure

Die in diesem Artikel beschriebenen Szenarien/Vorgänge sind:

  • Anfordern eines KV-Zertifikats mit einem unterstützten Aussteller
  • Ausstehende Anfrage abrufen – Anfragestatus ist "in Bearbeitung"
  • Ausstehende Anfrage abrufen – Anforderungsstatus ist "abgeschlossen"
  • Ausstehende Anforderung abrufen – Status der ausstehenden Anforderung ist „abgebrochen“ oder „fehlerhaft“
  • Ausstehende Anfrage abrufen – Status der ausstehenden Anfrage ist "gelöscht" oder "überschrieben"
  • Erstellen (oder Importieren), wenn eine ausstehende Anforderung vorhanden ist – Status ist "inProgress"
  • Zusammenführen, wenn ausstehende Anforderung mit einem Aussteller (z. B. DigiCert) erstellt wird
  • Einen Abbruch anfordern, während der Status der ausstehenden Anforderung „in Bearbeitung“ ist
  • Löschen eines ausstehenden Anforderungsobjekts
  • Manuelles Erstellen eines KV-Zertifikats
  • Zusammenführen, wenn eine ausstehende Anforderung erstellt wird – manuelle Zertifikaterstellung

Beantragen Sie ein KV-Zertifikat bei einem unterstützten Aussteller.

Methode Anforderungs-URI
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Die folgenden Beispiele erfordern ein Objekt mit dem Namen „mydigicert“ um bereits in Ihrem Schlüsseltresor mit dem Zertifikataussteller DigiCert verfügbar zu sein. Der Zertifikataussteller ist eine Entität, die in Azure Key Vault (KV) als CertificateIssuer-Ressource dargestellt wird. Es wird verwendet, um Informationen über die Quelle eines KV-Zertifikats bereitzustellen; Ausstellername, Anbieter, Anmeldeinformationen und andere administrative Details.

Anfrage

{
  "policy": {
    "x509_props": {
      "subject": "CN=MyCertSubject1"
    },
    "issuer": {
      "name": "mydigicert",
      "cty": "OV-SSL",
    }
  }
}

Antwort

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

Abrufen einer ausstehenden Anforderung – der Anforderungsstatus lautet "in Bearbeitung"

Methode Anforderungs-URI
GET https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Anfrage

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

ODER

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

Hinweis

Wenn request_id in der Abfrage angegeben ist, fungiert sie wie ein Filter. Wenn die request_id in der Abfrage und im ausstehenden Objekt unterschiedlich sind, wird ein HTTP-Statuscode von 404 zurückgegeben.

Antwort

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

Ausstehende Anfrage abrufen – Anfragestatus ist "abgeschlossen"

Anfrage

Methode Anforderungs-URI
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"

ODER

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

Antwort

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

Ausstehende Anforderung abrufen – Status der ausstehenden Anforderung ist „abgebrochen“ oder „fehlerhaft“

Anfrage

Methode Anforderungs-URI
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"

ODER

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

Antwort

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

Hinweis

Der Wert des Fehlercodes kann "Zertifikatherausgeberfehler" oder "Abgelehnte Anforderung" sein, je nach Aussteller- oder Benutzerfehler.

Ausstehende Anforderung abrufen – Status der ausstehenden Anforderung ist „gelöscht“ oder „überschrieben“

Ein ausstehendes Objekt kann durch einen Erstellungs-/Importvorgang gelöscht oder überschrieben werden, wenn der Status nicht inProgress ist.

Methode Anforderungs-URI
GET https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Anfrage

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

ODER

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

Antwort

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

Erstellen (oder Importieren), wenn eine ausstehende Anforderung vorhanden ist – Status ist "inProgress"

Ein ausstehende Objekt kann einen von vier Status aufweisen: „in Bearbeitung“, „abgebrochen“, „fehlerhaft“ oder „abgeschlossen“.

Wenn der Status einer ausstehenden Anforderung "inprogress" ist, schlagen Erstellungsvorgänge (und Importvorgänge) mit einem HTTP-Statuscode von 409 (Konflikt) fehl.

So beheben Sie einen Konflikt:

  • Wenn das Zertifikat manuell erstellt wird, können Sie das KV-Zertifikat abschließen, indem Sie das ausstehende Objekt entweder zusammenführen oder löschen.

  • Wenn das Zertifikat mit einem Aussteller erstellt wird, können Sie warten, bis das Zertifikat abgeschlossen wird, fehlschlägt oder abgebrochen wird. Alternativ können Sie das ausstehende Objekt löschen.

Hinweis

Durch das Löschen eines ausstehenden Objekts wird u. U. die Anforderung des X509-Zertifikats beim Anbieter abgebrochen.

Methode Anforderungs-URI
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Anfrage

{
  "policy": {
    "x509_props": {
      "subject": "CN=MyCertSubject1"
    },
    "issuer": {
      "name": "mydigicert"
    }
  }
}

Antwort

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

Zusammenführen, wenn ausstehende Anforderung mit einem Aussteller erstellt wird

Das Zusammenführen ist nicht zulässig, wenn ein ausstehendes Objekt mit einem Aussteller erstellt wird, ist jedoch zulässig, wenn sein Zustand „inProgress“ ist.

Wenn die Anforderung zum Erstellen des x509-Zertifikats aus irgendeinem Grund fehlschlägt oder abbricht und ein x509-Zertifikat mithilfe von Out-of-Band-Mitteln abgerufen werden kann, kann ein Zusammenführungsvorgang durchgeführt werden, um das KV-Zertifikat abzuschließen.

Methode Anforderungs-URI
POST https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version}

Anfrage

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

Antwort

StatusCode: 403, ReasonPhrase: 'Forbidden'
{
  "error": {
    "code": "Forbidden",
    "message": "Merge is forbidden on pending object created with issuer : <issuer-name> while it is in progess."
  }
}

Eine Stornierung anfordern, während der Status der ausstehenden Anfrage "in Bearbeitung" lautet.

Eine Stornierung kann nur angefordert werden. Eine Anforderung wird abgebrochen oder nicht. Wenn eine Anforderung nicht "inProgress" ist, wird ein HTTP-Status von 400 (Ungültige Anforderung) zurückgegeben.

Methode Anforderungs-URI
PATCH https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Anfrage

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

ODER

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

{
  "cancellation_requested": true
}

Antwort

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

Löschen eines ausstehenden Anforderungsobjekts

Hinweis

Durch das Löschen des ausstehenden Objekts wird u. U. die Anforderung des X509-Zertifikats beim Anbieter abgebrochen.

Methode Anforderungs-URI
Löschen https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Anfrage

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

ODER

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

Antwort

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

Manuelles Erstellen eines KV-Zertifikats

Sie können ein Zertifikat erstellen, das mit einer Zertifizierungsstelle Ihrer Wahl ausgestellt wurde, indem Sie einen manuellen Erstellungsprozess durchführen. Legen Sie den Namen des Ausstellers auf "Unbekannt" fest, oder geben Sie das Ausstellerfeld nicht an.

Methode Anforderungs-URI
POST https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Anfrage

{
  "policy": {
    "x509_props": {
      "subject": "CN=MyCertSubject1"
    },
    "issuer": {
      "name": "Unknown"
    }
  }
}

Antwort

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

Zusammenführen, wenn eine ausstehende Anforderung erstellt wird – manuelle Zertifikaterstellung

Methode Anforderungs-URI
POST https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version}

Anfrage

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

Elementname Erforderlich Typ Version BESCHREIBUNG
x5c Ja Array <Einführung in Version> X509-Zertifikatkette als Base64-Zeichenfolgen-Array.

Antwort

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