Delen via


Het maken van certificaten controleren en beheren

Van toepassing op: Azure

De scenario's/bewerkingen die in dit artikel worden beschreven, zijn:

  • Een KV-certificaat aanvragen met een ondersteunde verlener
  • Aanvraag in behandeling ophalen - aanvraagstatus is 'inProgress'
  • Aanvraag in behandeling ophalen - aanvraagstatus is 'voltooid'
  • Aanvraag in behandeling ophalen: status van aanvraag in behandeling is 'geannuleerd' of 'mislukt'
  • Aanvraag in behandeling ophalen: status van aanvraag in behandeling is 'verwijderd' of 'overschreven'
  • Maken (of importeren) wanneer de aanvraag in behandeling is, is de status 'inProgress'
  • Samenvoegen wanneer een aanvraag in behandeling is gemaakt met een verlener (bijvoorbeeld DigiCert)
  • Een annulering aanvragen terwijl de status van de in behandeling zijnde aanvraag 'inProgress' is
  • Een aanvraagobject in behandeling verwijderen
  • Handmatig een KV-certificaat maken
  • Samenvoegen wanneer er een aanvraag in behandeling is - handmatig certificaat maken

Een KV-certificaat aanvragen met een ondersteunde verlener

Wijze Aanvraag-URI
POSTEN https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

De volgende voorbeelden vereisen dat een object met de naam 'mydigicert' al beschikbaar is in uw sleutelkluis met de provider van de verlener als DigiCert. De certificaatverlener is een entiteit die in Azure Key Vault (KV) wordt weergegeven als een CertificateIssuer-resource. Het wordt gebruikt om informatie te verstrekken over de bron van een KV-certificaat; naam van verlener, provider, referenties en andere beheergegevens.

Aanvragen

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

Aanvraag in behandeling ophalen - aanvraagstatus is 'inProgress'

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

Aanvraag

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

OF

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

Notitie

Als request_id is opgegeven in de query, fungeert deze als een filter. Als de request_id in de query en in het in behandeling zijnde object verschillen, wordt een HTTP-statuscode van 404 geretourneerd.

Respons

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

Aanvraag in behandeling ophalen - aanvraagstatus is 'voltooid'

Aanvraag

Wijze Aanvraag-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"

OF

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

Respons

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

Aanvraag in behandeling ophalen: status van aanvraag in behandeling is 'geannuleerd' of 'mislukt'

Aanvraag

Wijze Aanvraag-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"

OF

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

De respons

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

Notitie

De waarde van de foutcode kan 'Certificaatverlenerfout' of 'Aanvraag geweigerd' zijn op basis van respectievelijk de verlener of gebruikersfout.

Aanvraag in behandeling ophalen: status van aanvraag in behandeling is 'verwijderd' of 'overschreven'

Een in behandeling zijnde object kan worden verwijderd of overschreven door een bewerking voor maken/importeren wanneer de status niet inProgressis.

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

Aanvraag

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

OF

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

Respons

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

Maken (of importeren) wanneer de aanvraag in behandeling is, is de status 'inProgress'

Een object in behandeling heeft vier mogelijke statussen; 'inprogress', 'geannuleerd', 'mislukt' of 'voltooid'.

Wanneer de status van een in behandeling zijnde aanvraag 'inprogress' is, mislukken het maken (en importeren) van bewerkingen met een HTTP-statuscode van 409 (conflict).

Een conflict oplossen:

  • Als het certificaat handmatig wordt gemaakt, kunt u het KV-certificaat voltooien door een samenvoegbewerking uit te voeren of te verwijderen voor het in behandeling zijnde object.

  • Als het certificaat wordt gemaakt met een verlener, kunt u wachten totdat het certificaat is voltooid, mislukt of wordt geannuleerd. U kunt ook het object in behandeling verwijderen.

Notitie

Als u een in behandeling zijnde object verwijdert, kan de x509-certificaataanvraag bij de provider al dan niet worden geannuleerd.

Wijze Aanvraag-URI
POSTEN https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Aanvragen

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

Samenvoegen wanneer een aanvraag in behandeling is gemaakt met een verlener

Samenvoegen is niet toegestaan wanneer een in behandeling zijnde object wordt gemaakt met een verlener, maar is toegestaan wanneer de status is inProgress.

Als de aanvraag voor het maken van het x509-certificaat om een of andere reden mislukt of annuleert en als een x509-certificaat kan worden opgehaald met out-of-band-means, kan er een samenvoegbewerking worden uitgevoerd om het KV-certificaat te voltooien.

Wijze Aanvraag-URI
POSTEN https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version}

Aanvragen

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

Een annulering aanvragen terwijl de status van de in behandeling zijnde aanvraag 'inProgress' is

Een annulering kan alleen worden aangevraagd. Een aanvraag kan al dan niet worden geannuleerd. Als een aanvraag niet 'inProgress' is, wordt een HTTP-status van 400 (ongeldige aanvraag) geretourneerd.

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

Aanvraag

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

OF

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

{
  "cancellation_requested": true
}

Respons

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

Een aanvraagobject in behandeling verwijderen

Notitie

Als u het object in behandeling verwijdert, wordt de x509-certificaataanvraag mogelijk niet geannuleerd bij de provider.

Wijze Aanvraag-URI
DELETE https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}

Aanvraag

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

OF

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

Respons

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

Handmatig een KV-certificaat maken

U kunt een certificaat maken dat is uitgegeven met een certificeringsinstantie van uw keuze via een handmatig maken. Stel de naam van de verlener in op Onbekend of geef het veld Verlener niet op.

Wijze Aanvraag-URI
POSTEN https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version}

Aanvragen

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

Samenvoegen wanneer er een aanvraag in behandeling is - handmatig certificaat maken

Wijze Aanvraag-URI
POSTEN https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version}

Aanvraag

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

Naam van element Vereist Type Versie Beschrijving
x5c Ja matrix <introductieversie> X509-certificaatketen als base 64-tekenreeksmatrix.

Respons

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