Håndtering af et stort antal certifikater kan være ret besværligt. Tilfældigt forekommende hændelser, såsom den seneste branche serienummer entropi problem, kan kræve, at administratorer manuelt tilbagekalder og genudgiver hundreder af certifikater på én gang. Vores egne supportagenter og administratorer har også oplevet dette i fortiden, et faktum, der motiverede SSL.com til at implementere en mere praktisk løsning: SSL.com Web Services (SWS) API.
SWS API kan bruges til at automatisere forskellige certifikatrelaterede operationer, såsom udstedelse af certifikater, genindtastning og oparbejdning af ordrer, styring af brugeradgang osv. Via ethvert programmerings- eller scriptingsprog. For at få prægenererede API-CURL-kommandoer til en individuel ordre, prøv at tilføje /developer
i slutningen af den certificeringsordreside (f.eks https://www.ssl.com/certificate_orders/co-1234xyz/developer
).
For at introducere nogle af API'ens funktioner vil denne vejledning lede dig gennem udstedelsen af en domænevalideret (DV) webservercertifikat. I processen vil vi berøre mange nyttige emner, såsom adgang til API, oprette en CSR, og forberede din server til validering af domænekontrol. Hvad mere er, vi vil se, hvordan vi kan tilbagekalde certifikater i bulk via API'en, hvilket er især nyttigt i tilfælde af sikkerhedshændelser.
Sandkassen
Enhver form for automatisering kræver omfattende test inden lancering i et produktionssystem, især når der er penge involveret. Af denne grund har SSL.com implementeret og vedligeholder sandkasse. Sandkassen er en udviklingsklon i vores produktions-API. Det indeholder al originalens funktionalitet, men er ikke forbundet til produktionsdatabasen. Dette betyder, at du kan oprette nye brugere og eksperimentere frit uden frygt for at ruste noget og blive debiteret for en fejl.
Når du er tilfreds med, at din automatisering fungerer korrekt i Sandbox, kan du derefter flytte din kode til produktion og være sikker på, at dine scripts ikke mislykkes.
Produktions-API'en findes i følgende URL:
https://sws.sslpki.com/
For at udføre API-opkald til Sandbox behøver du kun at ændre domænenavnet, som det er vist i følgende uddrag:
https://sws-test.sslpki.com/
Forbered miljøet
Før du begynder at lege med API, skal du først forberede et arbejdsmiljø. De værktøjer, vi vil bruge i hele denne tutorial, er en Linux-terminal og din pålidelige teksteditor.
Den første ting, du har brug for, er en mappe med alle de nødvendige filer. Af hensyn til værktøjet henviser vi til denne mappe som sslcom_api_test/
eller “arbejdsmappen”. For at oprette og gå ind i biblioteket skal du udstede følgende kommandoer i terminalen.
$ mkdir ~ / sslcom_api_test $ cd ~ / sslcom_api_test
Dernæst skal du downloade SSL.coms mellemliggende certifikatpakke, som er en arkivfil, der indeholder alle de nødvendige certifikatfiler til sikker adgang til API. På den måde krypteres alle data, du udveksler med API-serveren, og du kan være sikker på, at alle følsomme oplysninger, såsom API-nøgler, vil blive beskyttet mod aflytning.
Download ZIP-arkivet fra linket ovenfor og pak det ud til arbejdsmappen. (Sørg for at ændre dig ~/Downloads
til det bibliotek, hvor du gemte ZIP-filen, hvis nødvendigt). Den certifikatfil, vi bruger i hele denne artikel, er SSL_COM_RSA_SSL_SUBCA.crt
.
$ unzip ~ / Downloads / SSLcom_DV_CA_Zip.zip -d. Arkiv: ./SSLcom_DV_CA_Zip.zip udtrækning: ./SSL_COM_RSA_SSL_SUBCA.crt udtrækning: ./SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt udtrækning: ./CERTUM_TRUSTED_NETWORK_CA.crt
Vi bruger cURL, et typisk Linux-netværksværktøj til alle API-opkald i denne vejledning. cURL kan udføre enhver HTTP-handling og er som standard installeret i de fleste Linux-distributioner. Hvad mere er, cURL kan let installeres på Windows via de binære eksekverbare filer, der findes på cURL-projektsiden, eller ved at vælge den i Cygwin-installationsprogrammet. Bemærk dog, at da API'en er baseret på åbne formater, kan du bruge næsten ethvert andet sådant netværksværktøj eller programmeringssprog for at få adgang til det.
Derudover bruger vi OpenSSL at forberede vores certifikatordre. OpenSSL er et open source-værktøjssæt, der kan udføre næsten enhver kryptografisk handling, som du muligvis finder behov for. Dette værktøj er også inkluderet i Cygwin-pakkelisten, hvorfor du enten kan vælge det til installation, mens du konfigurerer din Cygwin-forekomst, eller installere det manuelt via de binære filer, der findes på projektets startside.
Endelig skal du bruge to API-nøgler for at arbejde med Sandbox, som er knyttet til din brugerkonto. Hvis du ikke allerede har en konto i Sandbox, skal du registrere dig via Sandbox's tilmeldingsblanket. Processen er identisk med at oprette en normal SSL.com-kundekonto. Hvis du allerede har en konto i Sandbox, kan du sikkert springe dette trin over.
Få adgang til API
Vores SWS API er baseret på HTTP (protokollebrowsere bruger), og alle data udveksles i JSON-format.
De fleste API-opkald kræver, at du inkluderer en account_key
og en secret_key
parameter til autorisationsformål. Du kan altid finde din kontos legitimationsoplysninger på Sandbox's Dashboard-side, men i dette tilfælde vil vi hente dem via API'en.
Kommandoen, der er angivet i det næste kodestykke, logger dig på portalen og henter din kontos oplysninger inklusive disse API-nøgler. Hvis du kopierer og indsætter kommandoen i et terminalvindue, skal du sørge for at udskifte den USERNAME
og PASSWORD
med din kontos legitimationsoplysninger.
$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET --data-urlencode 'password=PASSWORD' \ 'https://sws-test.sslpki.com/user/USERNAME' { "login": "JDemo" , "email": "jdemo@mailinator.com", "account_number": "abc-1ec6012", "account_key": "4497618e5c98", "secret_key": "FY+s9/ghUrv7SQ==", "status": " aktiveret", "user_url": "https://sws-test.sslpki.com/users/1322857", "available_funds": "$0.00" }
Skønt cURLs syntaks er ret ligetil, lad os gøre dig mere fortrolig med det ved at se nærmere på det forrige opkald.
-L
instruerer cURL til at følge alle HTTP-omdirigeringer. Du bør medtage denne mulighed i alle opkald for at undgå problemer.--cacert SSL_COM_RSA_SSL_SUBCA.crt
instruerer CURL for at validere API-serverens certifikat, med det certifikat, vi downloadede i bundtet. Dette tillader cURL at kryptere alle data, der sendes til serveren.--request GET
instruerer cURL til at udføre en HTTP GET-anmodning. Nogle opkald accepterer kun HTTP POST- eller PUT-anmodninger. Denne mulighed er måden at håndtere sådanne anmodninger på.--data-urlencode
forbereder kontoens adgangskode, der skal sendes til serveren. GET-anmodninger kan indeholde parametre i URL'en, mens PUT- og POST-anmodninger kun inkluderer parametre i kroppen. Da adgangskoden vil blive videregivet via URL'en, skal vi kode det for at undslippe alle symboler (f.eks/
,?
or#
) der kan forvirre serveren. Denne proces kaldes URL-kodning.
\
) i slutningen af den første linje tvinger Linux-terminalen til at ignorere et nyt-linjetegn og fortsætte med at analysere tegn på den næste linje som en del af den originale kommando. Vi bruger denne syntaks til at opdele lange kommandoer i flere linjer i et forsøg på at gøre dem mere præsentative.Resultatet af API-opkaldet er et JSON-objekt, der indeholder kontooplysninger, inklusive account_key
og secret_key
, krævet i efterfølgende API-opkald.
Udsted et servercertifikat
Efter at have forberedt arbejdsmiljøet og fået fat i API-nøglerne er du nu klar til at begynde at lege med API. Som et eksempel vil vi anmode om udstedelse af en Grundlæggende SSL-certifikat til en imaginær webserver navngivet example.ssl.com
. Uanset om du bruger API'en eller kundeportalen, kræver udstedelsen af et certifikat, at visse trin følges.
Disse trin inkluderer generering af et privat og offentligt nøglepar, oprettelse af en anmodning om underskrivelse af certifikat (CSR), oprette en certifikatordre og udføre validering af domænestyring.
Generer CSR
Der er flere metoder at oprette en CSRMen da vi allerede bruger terminalen, lad os se på, hvordan man opretter en CSR med OpenSSL. Hvis du allerede har en CSR du kan bruge til dette formål, kan du springe over dette trin.
A CSR er en base64-kodet fil, der indeholder det meste af de oplysninger, der vil blive inkluderet i den endelige certifikatfil. Blandt dets vigtigste indhold er offentlig nøgle og serverens domænenavn certifikatet udstedes for.
Det betyder, at vi får brug for et offentligt nøglepar, inden vi udsteder en CSR. Følgende kommando opretter en ny PEM fil i arbejdsmappen, navngivet example.ssl.com.key
, der indeholder de to nøgler.
$ openssl genrsa -out eksempel.ssl.com.key 2048 Genererer RSA privat nøgle, 2048 bit lang modul ................... +++ ...... .................................................. ...... +++ e er 65537 (0x010001)
Ved hjælp af nøgleparet kan OpenSSL nu generere en CSR for dig. For at udføre dette skal du bruge kommandoen, der er vist i følgende kodestykker.
$ openssl req -new -key example.ssl.com.key -out example.ssl.com.csr Du er ved at blive bedt om at indtaste oplysninger, der vil blive inkorporeret i din certifikatanmodning. Det, du er ved at indtaste, er det, der kaldes et Distinguished Name eller et DN. Der er en del felter, men du kan lade nogle være tomme. For nogle felter vil der være en standardværdi. Hvis du indtaster '.', vil feltet stå tomt. ----- Landenavn (2 bogstavskode) [AU]:US stat eller provinsnavn (fuldt navn) [nogle stat]:Texas lokalitetsnavn (f.eks. by) []:Houston Organisationsnavn (f.eks. virksomhed) [Internet Widgits Pty Ltd]:Eksempel på organisatorisk enhedsnavn (f.eks. sektion) []:Eksempel Department Common Name (f.eks. server FQDN eller DIT navn) []:example.ssl.com E-mailadresse []:admin@example.ssl. com Indtast venligst følgende 'ekstra' attributter, der skal sendes med din certifikatanmodning. En udfordringsadgangskode []: Et valgfrit firmanavn []:
OpenSSL vil spørge dig om dine grundlæggende kontaktoplysninger og Almindeligt navn af certifikatet. For SSL-certifikater er det fælles navn serverens domænenavn (i dette tilfælde example.ssl.com
). Hvis du kører kommandoen ovenfor, opretter du en fil, der er navngivet example.ssl.com.csr
, i det aktuelle bibliotek, der indeholder den kodede base64 CSR.
$ cat example.ssl.com.csr -----BEGIN CERTIFICATE REQUEST----- MIIC5DCCAcwCAQAwgZ4xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G A1UEBwwHSG91c3RvbjEQMA4GA1UECgwHRXhhbXBsZTEbMBkGA1UECwwSRXhhbXBs ZSBEZXBhcnRtZW50MRgwFgYDVQQDDA9leGFtcGxlLnNzbC5jb20xJDAiBgkqhkiG 9w0BCQEWFWFkbWluQGV4YW1wbGUuc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAN7XMG7+zhaGfimdD1F0P3xxUS8dC6knKId3ONEt14Wa5E62 ZIUkyNgQC7gd3Be31jBhcuzJKn8UbTcWnPXd3OCbznbkqXtnljiF3yN9cRnj2f7y 89Hfmje8C07xe6AsoUMSTYzwsoo3zai1bxOUhy+uDU8FzxcSHunepdx/naHXY1Md waQwzBCp668hFeIOslEjkTCNle3HK1LrgjZCIg0tyHBuZTNuUcQOyXrrDSrtOxx8 dqOD7sYqJie2xiCC9kkpNGYYTEuCuVKidgiC3e/DuLUNbhoUMfSENv64TGA7lRIj nEBrrEm6FOSgPEGgEsM78cexVaqNCavNXNy49ysCAwEAAaAAMA0GCSqGSIb3DQEB CwUAA4IBAQAV1Ac9nYH64BrB4OHlOYPkZbK6qCKfipTg7s4Xdcc3TponjTnMJyaQ NNh0koCUOFJaYPjWIk/YkCeGNv/fbce+sddNbh0jtcVTPw8EFvs53IaUAE99zDvn 577Azj+OXfmaLQXjK15BtnT5hbmRKsrpPxnAdk4NOohM7QKWNEdBrcfTuH1q3WpD 6jSD35FlIFUfMgNi34mxF4vYamGrWgdURIb7DCk2h7B2LQK+vRNx1uPm9FVSeYZc tHZWTiw2xEExw2Qco6lqXYl8t0Eo07gYl4gAEx9bibvVqYMo3Zss1mRg6+WEB8Xs G+Hn1TG3XIaIbmvlpRNma/l766KZwLXG -----END CERTIFICATE REQUEST-----
Opret certifikatordren
Efter at have fået CSR, er du nu klar til at oprette en certifikatordre via API'en. Det første API-opkald, vi kiggede på, var en GET-anmodning, mens denne er en POST. POST-anmodninger skal indeholde alle parametre i deres kroppe som JSON-objekter. Derfor skal du formatere certifikatordrens parametre i JSON. En JSON-konfiguration til dette eksempel kan findes i følgende uddrag.
{ "account_key": "4497618e5c98", "secret_key": "FY+s9/ghUrv7SQ==", "product": "106", "periode": "365", "server_software": "15", "organisationsnavn" : "Eksempel", "street_address_1": "Eksempel st", "locality_name": "Houston", "state_or_province_name": "Texas", "postal_code": "77777", "country_name": "US", "duns_number": "1234567", "company_number": "Eksempelnummer", "registered_country_name": "US", "unique_value": "1ed1c72baf", "csr":"-----START CERTIFIKATANMODNING-----MIIDIjCCAgwaRlkPnuD . 0QQ3JKQqJbii3760Rgon8hZmbkiE=-----SLUT CERTIFIKATANMODNING-----" }
Vi har allerede set API-nøglerne før. For at bestille certifikater er vi dog også nødt til at inkludere yderligere parametre som f.eks product
ID og gyldigheden period
. Du kan finde en liste over produkt-id'er i SWS API-dokumentation. I dette eksempel bestilles et grundlæggende SSL-certifikat med en gyldighedsperiode på 1 år. Den næste gruppe parametre gemmer kontaktoplysninger om registranten (det er dig). Det unique_value
parameter (valgfri), indeholder en alfanumerisk streng, der sikrer, at anmodningen er unik. Hvis du ikke angiver en unik værdi, genereres en tilfældig værdi for dig. Det er nyttigt at specificere en unik værdi på denne måde, hvis du vil generere DCV-filer eller CNAME-poster uden for SSL.com's brugerportal. Endelig blev csr
parameter skal indeholde en gyldig base64-kodet CSR, som den, vi gemte i example.ssl.com.csr
.
Udskift parametrene med dine egne værdier kontaktoplysninger og CSR, og gem denne JSON-konfiguration i en navngivet fil example.ssl.com.json
.
Med alt opsat er du nu klar til at oprette din ordre. cURL accepterer JSON-parametrene enten som en indbygget streng eller via et filnavn. På grund af at den første mulighed er for detaljeret, lad os sende filnavnet i stedet.
Bemærk venligst --data-binary
cURL-switch, som beder cURL om at inkludere filens indhold i brødteksten til POST-anmodningen.
$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request POST --header "Content-Type: application/json" \ --data-binary "@example.ssl.com.json" 'https://sws-test .sslpki.com/certificates' { "ref": "co-ac1ecm200", "registrant": { "organisation": "Eksempel", "organization_unit": null, "street_address_1": "Eksempel st", "street_address_2": null, "street_address_3": null, "locality": "Houston", "state_or_province": "Texas", "post_office_box": null, "postal_code": "77777", "country": "US", "e-mail": null }, "order_status": "validering påkrævet", "validations": null, "order_amount": "$49.00", "certificate_url": "https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co -ac1ecm200", "receipt_url": "https://sandbox.ssl.com/team/abc-1ec6012/orders/fe3b-1ecm201", "smart_seal_url": "https://sandbox.ssl.com/team/abc -1ec6012/certificate_orders/co-ac1ecm200/site_seal", "validation_url": "https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200/validation", "external_order_numberificates": null ": null }
Resultatet af operationen er et andet JSON-objekt, der indeholder detaljerne i den nyoprettede certifikatordre. Vi kan se dens order_status
, og dets referencenummer i ref
parameter, der bruges til at henvise til denne rækkefølge i alle efterfølgende API-opkald. Desuden indeholder output forskellige URL'er, såsom certificate_url
, der peger på ordrens detaljer i portalen og validation_url
, der peger på ordrens valideringsside.
Endelig certificates
vil indeholde alle de certifikater, der er knyttet til ordren. Da ordren ikke er valideret endnu, er der ikke oprettet certifikater.
Validering af domænekontrol
Som angivet i certifikatordrenes order_status
of validation required
, skal du udføre valideringen, før du har udstedt et certifikat.
Offentligt tillidte CA'er (såsom SSL.com) er forpligtet til at kontrollere, at certifikatkøberen faktisk kontrollerer den server, certifikatet vil blive udstedt til, før de udsteder nogen certifikater. Dette kan opnås gennem flere metoder, og du kan se alle de tilgængelige valideringsmetoder for en bestemt ordre via dette næste API-opkald.
Sørg for at udskifte referencenummeret co-ac1ecm200 i URL'en med din ordres referencenummer, som blev genereret i det forrige API-opkald.
$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'secret_key=FY+s9/ghUrv7SQ==' --data-urlencode 'account_key=4497618e5c98' \ 'https://sws-test.sslpki .com/certificate/co-ac1ecm200/validations/methods' { "instructions": "https://www.ssl.com/faqs/ssl-dv-validation-requirements/", "md5_hash": "29BD4C00B65613CCEC04C19D0050", " SHA931_HASH ":" BF2FDFD340C9D43B45FC8310A4E400D4B4CAF61D8BAAF2002E0945252F35D9 "," DNS_SHA751_HASH ":" BF2FDFD340C9D43B45FC8310P 4BAAF400E4F4D61C8A2002C0945252 "," DCV_METHODS ": {" Eksempel.SSL.com ": {" E -mail_addresses ": [" admin@ssl.com "," Administrator@ssl. .com", "webmaster@ssl.com", "hostmaster@ssl.com", "postmaster@ssl.com", "admin@example.ssl.com", "administrator@example.ssl.com", "webmaster @example.ssl.com", "hostmaster@example.ssl.com", "postmaster@example.ssl.com" ], "http_csr_hash": { "http": "http://example.ssl.com/. velkendt/pki-validation/35BD9C751.167B8CCEC5C49C29D4.txt", "allow_https": "true", "contents": "BF00FDFD65613C04D19B0050FC931A340E9D43B45F8310F4F400F4F4F61F8F2002 sl.com\n0945252c35a9c751" }, "cname_csr_hash": { "cname": "_167BD8C5B49CCEC29C4C00D65613.example. ssl.com. CNAME ff04e19fd.ssl.com.", "name": "_0050BD931C8716B0CCEC29C4C00D65613.example.ssl.com", "value": "BF04FDFD19C0050D931B340FC9F43F45F8310F4A400D4F4F61F8A2002F0945252F35A9D751F8716A0FCXNUMXFXNUMXFXNUMXFXNUMXA EXNUMXFXNUMXDXNUMX.ffXNUMXeXNUMXfd.ssl.com." } } }, "ca_tag": "ssl. dk" }
Den returnerede output inkluderer alle de oplysninger, du har brug for for at udføre validering af domænestyring. For eksempel, hvis du vil bruge http_csr_hash
valideringsmetode, skal du oprette en fil på den server, som dette certifikat vil blive udstedt til, navngivet på .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt
. Filen skal præcist nok indeholder værdien af contents
parameter.
Bagefter kan du besøge validation_url
fundet i det forrige opkald, der oprettede ordren og fortsæt med valideringen, som du normalt ville gøre med en ordre, du har oprettet via din kundeportal. (Du kan altid besøge valideringer side og find URL til den specifikke rækkefølge).
Efter en vellykket validering af domænestyring udstedes certifikatet, og du kan downloade det.
Hent certifikatet
Du kan finde dit certifikat i webportalen eller hente det via API'en. Til vores formål bruger vi API'en. Som det ses i det foregående afsnit, når svaret opretter en ny certifikatordre, indeholder svaret et referencenummer. Dette nummer kan bruges til at hente ordrens detaljer inklusive de faktiske certifikatdata.
$ curl --request GET -L --cacert SSL_COM_RSA_SSL_SUBCA.crt \ --data-urlencode 'secret_key=FY+s9/ghUrv7SQ==' --data-urlencode 'account_key=4497618e5c98' \ 'https://sws-test .sslpki.com/certificate/co-ac1ecm200?response_type=individually&response_encoding=base64' { "description": "1 års grundlæggende SSL", "product": "106", "product_name": "basicssl", "order_status": " issued", "order_date": "2019-05-02T10:08:48.000-05:00", "registrant": { "organisation": "Eksempel", "organization_unit": null, "street_address_1": "Eksempel st" , "street_address_2": null, "street_address_3": null, "locality": "Houston", "state_or_province": "Texas", "post_office_box": null, "postal_code": "77777", "country": "US" , "email": null }, "certificates": "\nMIIE1TCCA72gAwIBAgIRANsjhF+t ... 4CAw5Egg73IgIHggE1QEZiYQRu+0wDQY\n", "common_name": "example.ssl.com", "_domains_edchainsedq", "_domains_edchains" : "1", "subject_alternative_names": [ "example.ssl.com", "www.example.ssl.com" ], "validations": null, "effective_date": "0-2019-05T03:11:22- 37.000:05", "expiration_date": "00-2020-05T02:11:22-37.000:05", "algorithm": "SHA00", "external_order_number": null, "domains": null, "site_seal_code": null , "subscriber_agreement": null, "server_software": 256, "contacts": [ { ... }, { ... }] }
Da API er beregnet til at blive brugt programmatisk, skal du analysere JSON-svaret for at isolere certifikatet og gemme det i en fil. Analyse af JSON er uden for denne artikels rækkevidde; det er dog en simpel opgave, der let kan implementeres i de fleste moderne script- eller programmeringssprog.
Søg i certifikatordrer
Hvis du ikke har referencenummeret ved hånden, kan du udstede et API-opkald for at hente alle din kontos certifikatordrer. Dette opkald giver dig mulighed for at filtrere ordrer samt hvilke oplysninger der vises.
$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'secret_key=FY+s9/ghUrv7SQ==' --data-urlencode 'account_key=4497618e5c98' \ 'https://sws-test.sslpki .com/certificates?fields=domains,ref,order_status' [ { "ref": "co-ac1ecm200", "order_status": "issued", "domains": [ "example.ssl.com" ] }, { " ref": "co-581eclsap", "order_status": "validerer, vent venligst", "domains": [ "example.ssl.com" ] }, { "ref": "co-6f1ecm1of", "order_status": "venter på kontaktoplysninger fra kunde", "domæner": [ "test.ssl.com" ] } }
fields
URL-parameter giver dig mulighed for at kontrollere, hvilke certifikatdetaljer, der vises i output. Du kan desuden paginere via per_page
og page
anmodningsparametre. For at begrænse antallet af certifikater baseret på deres udstedelsesdato kan du bruge start
og end
parametre. Endelig kan du filtrere og søge i ordrene ved hjælp af kriterier som produkt-ID, udløbsdato eller ethvert andet felt indeholdt i certifikatet. For mere information se på SSL.coms API-dokumentation.
Tilbagekald certifikatet
Den sidste funktion, vi skal se på i denne vejledning, er tilbagekaldelse af bulkcertifikat. Certifikater kan beskytte dig, så længe kun du (eller folk, du har tillid til) har den private nøgle, der er knyttet til dem. I tilfælde af at en privat nøgle bliver kompromitteret, eller oplysninger om certifikatet skal ændres, skal certifikatet straks tilbagekaldes, og en ny skal udstedes.
I tilfælde, hvor den private nøgle mistænkes for at være stjålet, er det bydende nødvendigt, at klientsoftware (såsom browsere eller operativsystemer) holder op med at acceptere den så gyldig så hurtigt som muligt. Af denne grund anbefaler vi kraftigt, at du implementerer et automatiseret system til tilbagekaldelse, genudgivelse, hentning og installation af certifikater på dine servere.
SSL.coms SWS API giver dig mulighed for at programmatisk tilbagekalde et, flere eller alle certifikaterne under en af dine certifikatordrer. Følgende API-opkald tilbagekalder alle certifikater under certifikatordre co-ac1ecm200:
curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request DELETE --header "Content-Type: application/json" \ --data-binary '{"account_key":"4497618e5c98","secret_key":"FY+s9/ghUrv7SQ =","reason":"stolen"}' \ 'https://sws.sslpki.com/certificate/co-ac1ecm200' { "status":"tilbagekaldt" }
Denne CURL-kommando udsender en DELETE HTTP-anmodning (i stedet for en GET eller POST som tidligere kommandoer) og giver JSON-konfigurationen inline. Det er også gyldigt at oprette en fil med JSON-indholdet og videregive den til cURL via filnavn på samme måde som den kommando, der har udstedt certifikatordren.
Du kan angive uanset årsag du ønsker det i reason
parameter og kan eventuelt indeholde en liste over certifikatserienumre i JSON for kun at tilbagekalde certifikater, der matcher disse serier. Hvis der ikke er inkluderet serienumre, tilbagekaldes alle certifikater, der tilhører den specificerede certifikatordre.
For mere information om dette API-opkald, se venligst vores API dokumentation.
Konklusion
Denne artikel beskriver en ligetil proces til at udstede og tilbagekalde et DV-servercertifikat som et forenklet eksempel på de operationer, du kan udføre via SSL.coms SWS API. Vi på SSL.com tilskynder til brug af automatisering, hvor det er muligt, fordi det fjerner besværet med manuelt at udføre de samme gentagne opgaver og vigtigere giver mulighed for hurtigere svartider i nødsituationer (se serienummer entropi problem).
Du er velkommen til at eksperimentere med vores sandkasse og SWS API, og tøv ikke med at kontakte vores supportagenter, hvis du støder på problemer.
- Din SSL.com-konto - Indsendelse af en CSR
- Mislykket for-test ?!
- Din SSL.com-konto - Valideringer
- Din SSL.com-konto - ordrer
- Din SSL.com-konto - domæner
- SSL /TLS Certifikatudstedelse og tilbagekaldelse med ACME
- Understøttede Cloud HSM'er til dokumentsignering og EV-kodesignering