SSL.coms SWS API - Introduktion

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.

BEMÆRK VENLIGST: Denne artikel er udviklet til Sandbox, og du kan eksperimentere med alle de API-opkald, der findes i dette dokument.

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.

BEMÆRK VENLIGST: Disse instruktioner er skrevet til vaniljen ubuntu Linux distribution, som er et typisk udviklingsmiljø, som man kan støde på i den virkelige verden. Når det er sagt, fungerer scripts, der findes i dette dokument, også på Windows via Cygwin.

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.

BEMÆRK VENLIGST: På Windows skal du finde ZIP-arkivet, dobbeltklikke på det og udpakke filerne i arbejdsmappen.
$ 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 - anmodning 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 / brugere / 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.
BEMÆRK VENLIGST: Tilbageslag (\) 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 -ny -key eksempel.ssl.com.key -out eksempel.ssl.com.csr

Du er ved at blive bedt om at indtaste oplysninger, der vil blive indarbejdet i din certifikatanmodning. Hvad du er ved at indtaste er det, der kaldes et Distinguished Name eller en DN. Der er en hel 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 blive tomt. ----- Landnavn (kode med 2 bogstaver) [AU]: US-stat eller provinsnavn (fuldt navn) [Some-State]: Texas Lokalitetsnavn (f.eks. By) []: Houston Organisationsnavn (f.eks. Firma) [Internet Widgits Pty Ltd]: Eksempel på organisationsenhedsnavn (f.eks. Sektion) []: Eksempel på afdelingens almindelige navn (f.eks. Server FQDN eller DIT navn) []: eksempel.ssl.com E-mail-adresse []: admin@eksempel.ssl. com Indtast venligst følgende 'ekstra' attributter, der skal sendes sammen 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 eksempel.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", "period": "365", "server_software": "15", "organisationsnavn" : "Eksempel", "street_address_1": "Eksempel st", "lokalitetsnavn": "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":" ----- BEGYN CERTIFIKATANMODNING ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- AFSLUT 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.

Bemærk: Sørg for, at du har fjernet alle nye linjetegn fra CSR før du føjer det til kommandoen. Nye linjer bruges til at instruere terminalen om at behandle den indtastede tekst indtil den nye linjekarakter. At lade tegnene være muligvis får dine CURL-kommandoer til at mislykkes.

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 --forespørgsel POST - header "Content-Type: application / json" \ --data-binary "@ example.ssl.com.json" 'https: // sws-test .sslpki.com / certifikater '{"ref": "co-ac1ecm200", "registrant": {"organization": "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} , "order_status": "validering 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_number ": null," certifikater ": nul }

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 - forespørgsel GET \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certifikat / co-ac1ecm200 / valideringer / metoder '{"instruktioner": "https://www.ssl.com/faqs/ssl-dv-validation-requirements/", "md5_hash": "29BD4C00B65613CCEC04C19C0050D931", " sha2_hash ": "BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751", "dns_sha2_hash": "BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252E35F9D751.167c8a5c49", "dcv_methods": { "example.ssl.com": { "EMAIL_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://eksempel.ssl.com/.well-known/pki-validering / 29BD4C00B65613CCEC04C19C0050D931.txt "," allow_https ":" sand "," indhold ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751 \csr_hash ": {" cname ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com. CNAME ff8716e0fd.ssl.com. "," Name ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "," value ":" BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252. Fx. com "}

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 --forespørgsel 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 / certifikat / co-ac1ecm200? response_type = individuelt & response_encoding = base64 '{"beskrivelse": "1 års grundlæggende SSL", "produkt": "106", "produktnavn": "basicssl", "order_status": "udstedt" , "order_date": "2019-05-02T10: 08: 48.000-05: 00", "registrant": {"organization": "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}," certifikater ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "," common_name ":" eksempel.ssl.com "," domains_qty_purchased ":" 1 "," wild ":" q " 0 "," subject_alternative_names ": [" example.ssl.com "," www.example.ssl.com "]," validations ": null," effective_date ":" 2019-05-03T11: 22: 37.000-05: 00 "," expiration_date ":" 2020-05-02T11: 22: 37.000-05: 00 "," algoritme ":" SHA256 "," external_order_number ": null," domæner ": null," site_seal_code ": null," subscriber_agreement ": null," server_software ": 15," kontakter ": [{...}, {...}]}

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.

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 - forespørgsel GET \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certifikater? felter = domæner, ref, order_status '[{"ref": "co-ac1ecm200", "order_status": "udstedt", "domæner": ["eksempel.ssl.com"]}, {" ref ":" co-581eclsap "," order_status ":" validering, vent venligst "," domæner ": [" eksempel.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:

krølle --cacert SSL_COM_RSA_SSL_SUBCA.crt - anmodning SLET - header "Content-Type: application / json" \ --data-binary '{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ = = "," årsag ":" stjålet "} '\' https: //sws.sslpki.com / certifikat / 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.

Tak for at du valgte SSL.com! Hvis du har spørgsmål, bedes du kontakte os via e-mail på Support@SSL.com, opkald 1-877-SSL-SECURE, eller bare klik på chatlinket nederst til højre på denne side. Du kan også finde svar på mange almindelige supportspørgsmål i vores vidensbase.
Twitter
Facebook
LinkedIn
Reddit
E-mail

Hold dig informeret og sikker

SSL.com er en global leder inden for cybersikkerhed, PKI og digitale certifikater. Tilmeld dig for at modtage de seneste industrinyheder, tips og produktmeddelelser fra SSL.com.

Vi vil meget gerne have din feedback

Tag vores undersøgelse og fortæl os dine tanker om dit seneste køb.