Övervaka och hantera processen för att skapa certifikat
Gäller för: Azure
De scenarier/åtgärder som beskrivs i den här artikeln är:
- Begära ett KV-certifikat med en utfärdare som stöds
- Hämta väntande begäran – statusen för begäran är "inProgress"
- Hämta väntande begäran – statusen för begäran är "fullständig"
- Hämta väntande begäran – statusen för väntande begäran är "avbruten" eller "misslyckad"
- Hämta väntande begäran – statusen för väntande begäran är "borttagen" eller "skrivs över"
- Skapa (eller importera) när väntande begäran finns – statusen är "inProgress"
- Sammanfoga när väntande begäran skapas med en utfärdare (till exempel DigiCert)
- Begär en annullering medan statusen för väntande begäran är "inProgress"
- Ta bort ett väntande begärandeobjekt
- Skapa ett KV-certifikat manuellt
- Sammanfoga när en väntande begäran skapas – manuellt skapa certifikat
Begära ett KV-certifikat med en utfärdare som stöds
Metod | URI för förfrågan |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
Följande exempel kräver att ett objekt med namnet "mydigicert" redan är tillgängligt i ditt nyckelvalv med utfärdarprovidern som DigiCert. Certifikatutfärdaren är en entitet som representeras i Azure Key Vault (KV) som en CertificateIssuer-resurs. Den används för att tillhandahålla information om källan till ett KV-certifikat. utfärdarnamn, provider, autentiseringsuppgifter och annan administrativ information.
Förfrågan
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "mydigicert",
"cty": "OV-SSL",
}
}
}
Svarsåtgärder
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"
}
Hämta väntande begäran – statusen för begäran är "inProgress"
Metod | URI för förfrågan |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
Förfrågan
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
ELLER
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Anteckning
Om request_id anges i frågan fungerar den som ett filter. Om request_id i frågan och i det väntande objektet skiljer sig returneras http-statuskoden 404.
Svarsåtgärder
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"
}
Hämta väntande begäran – statusen för begäran är "fullständig"
Förfrågan
Metod | URI för förfrågan |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
ELLER
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Svarsåtgärder
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}"
}
Hämta väntande begäran – statusen för väntande begäran är "avbruten" eller "misslyckad"
Förfrågan
Metod | URI för förfrågan |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
ELLER
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Svarsåtgärder
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>"
}
}
Anteckning
Värdet för felkoden kan vara "Certifikatutfärdarfel" eller "Begäran avvisades" baserat på utfärdare respektive användarfel.
Hämta väntande begäran – statusen för väntande begäran är "borttagen" eller "skrivs över"
Ett väntande objekt kan tas bort eller skrivas över av en create/import-åtgärd när dess status inte inProgress
är .
Metod | URI för förfrågan |
---|---|
GET | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
Förfrågan
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
ELLER
FÅ “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Svarsåtgärder
StatusCode: 404, ReasonPhrase: 'Not Found'
{
"error": {
"code": "PendingCertificateNotFound",
"message": "…"
}
}
Skapa (eller importera) när väntande begäran finns – statusen är "inProgress"
Ett väntande objekt har fyra möjliga tillstånd. "inprogress", "canceled", "failed" eller "completed".
När tillståndet för en väntande begäran är "inprogress" misslyckas åtgärderna för att skapa (och importera) med http-statuskoden 409 (konflikt).
Så här åtgärdar du en konflikt:
Om certifikatet skapas manuellt kan du antingen slutföra KV-certifikatet genom att göra en sammanslagning eller ta bort det väntande objektet.
Om certifikatet skapas med en utfärdare kan du vänta tills certifikatet har slutförts, misslyckas eller har avbrutits. Du kan också ta bort det väntande objektet.
Anteckning
Om du tar bort ett väntande objekt kanske du inte avbryter x509-certifikatbegäran hos providern.
Metod | URI för förfrågan |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
Förfrågan
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "mydigicert"
}
}
}
Svarsåtgärder
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."
}
}
Sammanfoga när väntande begäran skapas med en utfärdare
Sammanslagning tillåts inte när ett väntande objekt skapas med en utfärdare, men tillåts när dess tillstånd är inProgress
.
Om begäran om att skapa x509-certifikatet misslyckas eller avbryts av någon anledning, och om ett x509-certifikat kan hämtas med out-of-band-medel, kan en sammanslagningsåtgärd utföras för att slutföra KV-certifikatet.
Metod | URI för förfrågan |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version} |
Förfrågan
{
"x5c": [ "MIICxTCCAbi………………………trimmed for brevitiy……………………………………………EPAQj8=" ]
}
Svarsåtgärder
StatusCode: 403, ReasonPhrase: 'Forbidden'
{
"error": {
"code": "Forbidden",
"message": "Merge is forbidden on pending object created with issuer : <issuer-name> while it is in progess."
}
}
Begär en annullering medan statusen för väntande begäran är "inProgress"
En annullering kan bara begäras. En begäran kan avbrytas eller inte. Om en begäran inte är "inProgress" returneras http-statusen 400 (felaktig begäran).
Metod | URI för förfrågan |
---|---|
PATCH | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
Förfrågan
PATCH “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
ELLER
PATCH “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
{
"cancellation_requested": true
}
Svarsåtgärder
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"
}
Ta bort ett väntande begärandeobjekt
Anteckning
Om du tar bort det väntande objektet kanske du inte avbryter x509-certifikatbegäran hos providern.
Metod | URI för förfrågan |
---|---|
DELETE | https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version} |
Förfrågan
TA BORT “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}&request_id=a76827a18b63421c917da80f28e9913d"
ELLER
TA BORT “https://mykeyvault.vault.azure.net/certificates/mycert1/pending?api-version={api-version}"
Svarsåtgärder
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",
}
Skapa ett KV-certifikat manuellt
Du kan skapa ett certifikat som utfärdats med valfri certifikatutfärdare genom en manuell skapandeprocess. Ange namnet på utfärdaren till "Okänt" eller ange inte fältet utfärdare.
Metod | URI för förfrågan |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/create?api-version={api-version} |
Förfrågan
{
"policy": {
"x509_props": {
"subject": "CN=MyCertSubject1"
},
"issuer": {
"name": "Unknown"
}
}
}
Svarsåtgärder
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"
}
Sammanfoga när en väntande begäran skapas – manuellt skapa certifikat
Metod | URI för förfrågan |
---|---|
POST | https://mykeyvault.vault.azure.net/certificates/mycert1/pending/merge?api-version={api-version} |
Förfrågan
{
"x5c": [ "MIICxTCCAbi………………………trimmed for brevitiy……………………………………………EPAQj8=" ]
}
Elementnamn | Krävs | Typ | Version | Beskrivning |
---|---|---|---|---|
x5c | Ja | matris | <introduktionsversion> | X509-certifikatkedja som base 64-strängmatris. |
Svarsåtgärder
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
}
}
}