API SWS di SSL.com - Introduzione

La gestione di un gran numero di certificati può essere una vera seccatura. Incidenti che si verificano in modo casuale, come il recente a livello di settore problema di entropia del numero di serie, potrebbe richiedere agli amministratori di revocare e riemettere manualmente centinaia di certificati contemporaneamente. Anche i nostri agenti e amministratori dell'assistenza lo hanno sperimentato in passato, un fatto che ha motivato SSL.com a implementare una soluzione più pratica: il API SSL.com Web Services (SWS).

L'API SWS può essere utilizzata per automatizzare varie operazioni relative ai certificati, come l'emissione di certificati, la ricodifica e il rielaborazione degli ordini, la gestione dell'accesso degli utenti e così via tramite qualsiasi linguaggio di programmazione o di scripting. Per ottenere comandi API cURL pregenerati per un singolo ordine, prova ad aggiungere /developer alla fine della pagina dell'ordine del certificato (ad es https://www.ssl.com/certificate_orders/co-1234xyz/developer).

Per introdurre alcune delle funzionalità dell'API, questo tutorial ti guiderà attraverso l'emissione di un file certificato server Web validato dal dominio (DV). Nel processo toccheremo molti argomenti utili, come l'accesso all'API, la creazione di un CSRe preparare il server per la convalida del controllo del dominio. Inoltre, vedremo come possiamo revocare i certificati in blocco tramite l'API, che è particolarmente utile in caso di incidenti di sicurezza.

The Sandbox

Qualsiasi tipo di automazione richiede test approfonditi prima del lancio in un sistema di produzione, soprattutto quando sono coinvolti i soldi. Per questo motivo, SSL.com ha implementato e mantiene il sandbox. Sandbox è un clone di sviluppo della nostra API di produzione. Contiene tutte le funzionalità dell'originale, ma non è collegato al database di produzione. Ciò significa che puoi creare nuovi utenti e sperimentare liberamente senza paura di rovinare qualcosa e farti pagare per un errore.

Quando sei sicuro che la tua automazione funzioni correttamente nella Sandbox, puoi quindi spostare il codice in produzione ed essere sicuro che i tuoi script non falliranno.

NOTA: Questo articolo è stato sviluppato per Sandbox e puoi sperimentare qualsiasi chiamata API contenuta in questo documento.

L'API di produzione è disponibile nel seguente URL:

https://sws.sslpki.com/

Per eseguire chiamate API alla Sandbox, devi solo cambiare il nome di dominio come mostrato nel seguente frammento:

https://sws-test.sslpki.com/

Preparare l'ambiente

Prima di iniziare a giocare con l'API, devi prima preparare un ambiente di lavoro. Gli strumenti che utilizzeremo in questo tutorial sono un terminale Linux e il tuo fidato editor di testo.

NOTA: Queste istruzioni sono state scritte per la vaniglia Ubuntu Linux distribuzione, che è un tipico ambiente di sviluppo che si potrebbe incontrare nel mondo reale. Detto questo, gli script forniti in questo documento funzionano anche su Windows tramite Cygwin.

La prima cosa di cui avrai bisogno è una directory per tutti i file necessari. Per motivi di utilità, faremo riferimento a questa directory come sslcom_api_test/ o "la directory di lavoro". Per creare e accedere alla directory, immetti i seguenti comandi nel terminale.

$ mkdir ~ / sslcom_api_test $ cd ~ / sslcom_api_test

Successivamente, è necessario scaricare Bundle di certificati intermedi di SSL.com, che è un file di archivio contenente tutti i file di certificato necessari per accedere in modo sicuro all'API. In questo modo, tutti i dati scambiati con il server API verranno crittografati e si può essere certi che qualsiasi informazione sensibile, come le chiavi API, sarà protetta da intercettazioni.

Scarica l'archivio ZIP dal link sopra e decomprimilo nella directory di lavoro. (Assicurati di cambiare ~/Downloads nella directory in cui è stato salvato il file ZIP, se necessario). Il file del certificato che useremo in questo articolo è SSL_COM_RSA_SSL_SUBCA.crt.

NOTA: Su Windows, dovrai individuare l'archivio ZIP, fare doppio clic su di esso ed estrarre i file nella directory di lavoro.
$ unzip ~ / Downloads / SSLcom_DV_CA_Zip.zip -d. Archivio: ./SSLcom_DV_CA_Zip.zip estrazione: ./SSL_COM_RSA_SSL_SUBCA.crt estrazione: ./SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt estrazione: ./CERTUM_TRUSTED_NETWORK_CA.crt

Useremo cURL, un tipico strumento di rete Linux, per tutte le chiamate API in questo tutorial. cURL può eseguire qualsiasi operazione HTTP ed è installato per impostazione predefinita nella maggior parte delle distribuzioni Linux. Inoltre, cURL può essere facilmente installato su Windows tramite gli eseguibili binari forniti nella pagina del progetto cURL o selezionandolo nell'installer di Cygwin. Tuttavia, tieni presente che poiché l'API è basata su formati aperti, puoi utilizzare quasi qualsiasi altro strumento di rete o linguaggio di programmazione per accedervi.

Inoltre, useremo OpenSSL per preparare il nostro ordine di certificato. OpenSSL è un kit di strumenti open source in grado di eseguire quasi tutte le operazioni crittografiche di cui potresti aver bisogno. Questo strumento è anche incluso nell'elenco dei pacchetti Cygwin, quindi puoi selezionarlo per l'installazione durante la configurazione dell'istanza Cygwin o installarlo manualmente tramite i file binari forniti nella home page del progetto.

Infine, avrai bisogno di due chiavi API per lavorare con Sandbox, che sono associate al tuo account utente. Se non disponi già di un account nella sandbox, registrati tramite la sandbox  modulo di iscrizione. Il processo è identico alla creazione di un normale account cliente SSL.com. Se hai già un account nella sandbox, puoi saltare questo passaggio in sicurezza.

Accedi all'API

La nostra API SWS si basa su HTTP (utilizzato dai browser dei protocolli) e tutti i dati vengono scambiati in Formato JSON.

La maggior parte delle chiamate API richiederà di includere un account_keysecret_key parametro ai fini dell'autorizzazione. Puoi sempre trovare le credenziali del tuo account nella pagina Dashboard di Sandbox, anche se in questo caso le recupereremo tramite l'API.

Il comando elencato nel successivo frammento di codice ti accederà al portale e recupererà le informazioni del tuo account, comprese queste chiavi API. Se stai copiando e incollando il comando in una finestra di terminale, assicurati di sostituire USERNAME ed PASSWORD con le credenziali del tuo account.

$ 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": "enabled", "user_url": "https: //sws-test.sslpki.com / users / 1322857 "," available_funds ":" $ 0.00 "}

Sebbene il sintassi di cURL è abbastanza semplice, rendiamolo più familiare esaminando in dettaglio la chiamata precedente.

  • -L indica a cURL di seguire tutti i reindirizzamenti HTTP. È necessario includere questa opzione in tutte le chiamate per evitare problemi.
  • --cacert SSL_COM_RSA_SSL_SUBCA.crt istruisce cURL per convalidare il certificato del server API, con il certificato che abbiamo scaricato nel pacchetto. Ciò consentirà a cURL di crittografare tutti i dati inviati al server.
  • --request GET indica a cURL di eseguire una richiesta GET HTTP. Alcune chiamate accettano solo richieste POST o PUT HTTP. Questa opzione è il modo di gestire tali richieste.
  • --data-urlencode prepara la password dell'account da trasmettere al server. Le richieste GET possono includere parametri nell'URL, mentre le richieste PUT e POST includono solo parametri nel corpo. Poiché la password verrà passata tramite l'URL, dobbiamo codificarla per evitare qualsiasi simbolo (ad es / , ? or # ) che potrebbe confondere il server. Questo processo è chiamato Codifica URL.
NOTA: La barra rovesciata (\) alla fine della prima riga forza il terminale Linux a ignorare un carattere di nuova riga e continua ad analizzare i caratteri nella riga successiva come parte del comando originale. Useremo questa sintassi per dividere i comandi lunghi in più righe, nel tentativo di renderli più presentabili.

Il risultato della chiamata API è un oggetto JSON contenente informazioni sull'account, incluso il file account_key ed secret_key, richiesto nelle successive chiamate API.

Emettere un certificato del server

Dopo aver preparato l'ambiente di lavoro e ottenuto le chiavi API, ora sei pronto per iniziare a giocare con l'API. Ad esempio, richiederemo l'emissione di a Certificato SSL di base per un web server immaginario chiamato example.ssl.com. Indipendentemente dal fatto che si utilizzi l'API o il portale clienti, l'emissione di un certificato richiede alcuni passaggi da seguire.

Questi passaggi includono la generazione di una coppia di chiavi privata e pubblica, la creazione di un richiesta di firma del certificato (CSR), creando un ordine di certificato ed eseguendo il convalida del controllo del dominio.

Genera il CSR

Ci sono diversi metodi creare un CSR, tuttavia poiché stiamo già utilizzando il terminale, vediamo come creare un file CSR con OpenSSL. Se hai già un file CSR è possibile utilizzare per questo scopo, è possibile saltare questo passaggio.

A CSR è un file codificato in base64 che contiene la maggior parte delle informazioni che verranno incluse nel file del certificato finale. Tra i suoi contenuti più importanti ci sono il Chiave pubblica e la nome di dominio del server il certificato verrà rilasciato per.

Ciò significa che avremo bisogno di una coppia di chiavi pubbliche prima di emettere un CSR. Il seguente comando creerà un nuovo PEM file nella directory di lavoro, denominato example.ssl.com.key, contenente le due chiavi.

$ openssl genrsa -out example.ssl.com.key 2048 Generazione della chiave privata RSA, modulo lungo 2048 bit ................... +++ ...... .................................................. ...... +++ e è 65537 (0x010001)

Utilizzando la coppia di chiavi, OpenSSL può ora generare un file CSR per te. A tale scopo, utilizza il comando mostrato nel seguente frammento di codice.

$ openssl req -new -key esempio.ssl.com.key -out esempio.ssl.com.csr

Stai per essere chiesto di inserire le informazioni che verranno incorporate nella tua richiesta di certificato. Quello che stai per inserire è quello che viene chiamato Distinguished Name o DN. Ci sono parecchi campi ma puoi lasciare alcuni vuoti. Per alcuni campi ci sarà un valore predefinito, se inserisci ".", Il campo verrà lasciato vuoto. ----- Nome del paese (codice di 2 lettere) [AU]: nome dello stato o della provincia degli Stati Uniti (nome completo) [Some-State]: nome della località del Texas (ad es. Città) []: Houston Organization Name (ad es. [Internet Widgits Pty Ltd]: Esempio di nome dell'unità organizzativa (ad esempio, sezione) []: Esempio di nome comune del reparto (ad esempio FQDN del server o TUO nome) []: esempio.ssl.com Indirizzo e-mail []: admin@example.ssl. com Si prega di inserire i seguenti attributi "extra" da inviare con la richiesta di certificato Una password di verifica []: un nome di azienda facoltativo []:

OpenSSL ti chiederà le tue informazioni di contatto di base e il file Nome comune del certificato. Per i certificati SSL, il nome comune è il nome di dominio del server (in questo caso example.ssl.com). L'esecuzione del comando sopra creerà un file, denominato example.ssl.com.csr, nella directory corrente contenente il codificato base64 CSR.

$ cat esempio.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-----

Crea l'ordine del certificato

Dopo aver ottenuto il CSR, ora sei pronto per creare un ordine di certificato tramite l'API. La prima chiamata API che abbiamo esaminato era una richiesta GET, mentre questa è un POST. Le richieste POST devono includere tutti i parametri nei loro corpi come oggetti JSON. Di conseguenza, è necessario formattare i parametri dell'ordine del certificato in JSON. Una configurazione JSON per questo esempio è disponibile nel frammento di codice seguente.

{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ ==", "product": "106", "period": "365", "server_software": "15", "organization_name" : "Example", "street_address_1": "Example st", "locality_name": "Houston", "state_or_province_name": "Texas", "Postal_code": "77777", "country_name": "US", "duns_number": "1234567", "company_number": "Example number", "registered_country_name": "US", "unique_value": "1ed1c72baf", "csr":" ----- BEGIN CERTIFICATE REQUEST ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- END CERTIFICATE REQUEST ----- "}

Abbiamo già visto le chiavi API prima. Tuttavia, per ordinare i certificati dobbiamo anche includere parametri aggiuntivi come product ID e validità period. Puoi trovare un elenco di ID prodotto nel Documentazione API SWS. In questo esempio, l'ordine viene effettuato per un certificato SSL di base con un periodo di validità di 1 anno. Il gruppo di parametri successivo memorizza le informazioni di contatto sul registrante (che sei tu). Il unique_value parametro (opzionale), contiene una stringa alfanumerica che garantisce l'unicità della richiesta. Se non fornisci un valore univoco, ne verrà generato uno casuale. Specificare un valore univoco in questo modo è utile se desideri generare file DCV o voci CNAME al di fuori del portale utente di SSL.com. Infine, il csr Il parametro deve contenere un codice64 valido valido CSR, come quello in cui abbiamo salvato example.ssl.com.csr.

Sostituisci i parametri con i tuoi valori recapiti ed CSRe salva questa configurazione JSON in un file denominato example.ssl.com.json.

Nota: Assicurati di aver rimosso tutti i caratteri di nuova riga da CSR prima di aggiungerlo al comando. Le nuove righe vengono utilizzate per indicare al terminale di elaborare il testo immesso fino al carattere di nuova riga. Lasciare i caratteri potrebbe far fallire i tuoi comandi cURL.

Con tutto impostato, ora sei pronto per creare il tuo ordine. cURL accetta i parametri JSON come una stringa inline o tramite un nome di file. Poiché la prima opzione è troppo prolissa, passiamo invece il nome del file.

Si prega di prendere nota del --data-binary cURL switch, che indica a cURL di includere il contenuto del file nel corpo della richiesta POST.

$ 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 ": {" organization ":" Example "," organization_unit ": null," street_address_1 ":" Example 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": "validation required", "validations": null, "order_amount": "$ 49.00", "certificate_url": "https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200 "," receive_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," certificati ": nullo }

Il risultato dell'operazione è un altro oggetto JSON che contiene i dettagli dell'ordine del certificato appena creato. Possiamo vederlo order_statuse il suo numero di riferimento in ref parametro utilizzato per fare riferimento a questo ordine in tutte le successive chiamate API. Inoltre, l'output contiene vari URL, come il certificate_url, che punta ai dettagli dell'ordine nel portale e nel file validation_url, che punta alla pagina di convalida dell'ordine.

Infine, certificates conterrà tutti i certificati associati all'ordine. Poiché l'ordine non è stato ancora convalidato, non sono stati creati certificati.

Convalida del controllo del dominio

Come indicato nell'ordine del certificato order_status of validation required, è necessario eseguire la convalida prima di ricevere un certificato.

Le CA pubblicamente attendibili (come SSL.com) devono verificare che l'acquirente del certificato controlli effettivamente il server per il quale verrà emesso il certificato prima di emettere loro qualsiasi certificato. Questo può essere ottenuto tramite più metodie puoi visualizzare tutti i metodi di convalida disponibili per un ordine specifico tramite la prossima chiamata API.

Assicurati di sostituire il numero di riferimento co-ac1ecm200 nell'URL con il numero di riferimento del tuo ordine, che è stato generato nella precedente chiamata API.

$ 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 ":" 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://example.ssl.com/.well-known/pki-validation / 29BD4C00B65613CCEC04C19C0050D931.txt "," allow_https ":" true "," contents ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9Da751 "cssname"csr_hash ": {" cname ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com. CNAME ff8716e0fd.ssl.com. "," Name ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "," value ":" BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252s. "S. com "}

L'output restituito includerà tutte le informazioni necessarie per eseguire la convalida del controllo del dominio. Ad esempio, se si desidera utilizzare il http_csr_hash  metodo di convalida, è necessario creare un file nel server per cui verrà rilasciato questo certificato, denominato .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt. Il file dovrebbe di preciso contiene il valore di contents parametro.

Successivamente, puoi visitare il validation_url trovato nella precedente chiamata che ha creato l'ordine e procedi con la convalida come faresti normalmente con un ordine creato tramite il portale clienti. (Puoi sempre visitare il Validazioni pagina e trova l'URL per l'ordine specifico).

Dopo aver verificato correttamente la convalida del controllo del dominio, il certificato verrà emesso e sarà possibile scaricarlo.

Recupera il certificato

Puoi trovare il tuo certificato nel portale web o recuperarlo tramite l'API. Per i nostri scopi useremo l'API. Come visto nella sezione precedente, quando si crea un nuovo ordine di certificato, la risposta contiene un numero di riferimento. Questo numero può essere utilizzato per recuperare i dettagli dell'ordine, inclusi i dati effettivi del certificato.

$ 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 = singolarmente & response_encoding = base64 '{"description": "1 Year Basic SSL", "product": "106", "product_name": "basicssl", "order_status": "rilasciato" , "order_date": "2019-05-02T10: 08: 48.000-05: 00", "registrant": {"organization": "Example", "organization_unit": null, "street_address_1": "Example 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}," certificati ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "," common_name ":" example.ssl.com "," domains_qty_purchased_purchased ":" 1_qty_purchasty ":" jolly 0 "," subject_alternative_names ": [" example.ssl.com "," www.example.ssl.com "]," validations ": null," actual_date ":" 2019-05-03T11: 22: 37.000-05: 00 "," expiration_date ":" 2020-05-02T11: 22: 37.000-05: 00 "," algoritmo ":" SHA256 "," external_order_number ": null," domains ": null," site_seal_code ": null," subscriber_agreement ": null," server_software ": 15," contatti ": [{...}, {...}]}

Poiché l'API deve essere utilizzata a livello di codice, è necessario analizzare la risposta JSON per isolare il certificato e salvarlo in un file. L'analisi JSON va oltre lo scopo di questo articolo; tuttavia, è un compito semplice che può essere facilmente implementato nella maggior parte dei moderni linguaggi di scripting o programmazione.

Se non hai il numero di riferimento a portata di mano, puoi emettere una chiamata API per recuperare tutti gli ordini di certificati del tuo account. Questa chiamata ti consente di filtrare gli ordini e le informazioni che verranno visualizzate.

$ 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": "rilasciato", "domains": ["example.ssl.com"]}, {" ref ":" co-581eclsap "," order_status ":" validating, please wait "," domains ": [" example.ssl.com "]}, {" ref ":" co-6f1ecm1of "," order_status ": "in attesa di informazioni sui contatti dal cliente", "domini": ["test.ssl.com"]}}

Le fields Il parametro URL consente di controllare quali dettagli del certificato verranno visualizzati nell'output. È inoltre possibile impaginare tramite il per_page ed page parametri di richiesta. Per limitare il numero di certificati in base alle loro date di emissione è possibile utilizzare start ed end parametri. Infine, puoi filtrare e cercare gli ordini utilizzando criteri come ID prodotto, data di scadenza o qualsiasi altro campo contenuto nel certificato. Per ulteriori informazioni, dai un'occhiata a Documentazione API di SSL.com.

Revoca il certificato

L'ultima funzione che vedremo in questa guida è la revoca di certificati in blocco. I certificati possono proteggerti fintanto che solo tu (o le persone di cui ti fidi) detengono la chiave privata ad essi associata. Nel caso in cui una chiave privata venga compromessa o qualsiasi informazione sul certificato debba essere modificata, il certificato deve essere immediatamente revocato e deve essere emesso uno nuovo.

Nei casi in cui si sospetta il furto della chiave privata, è indispensabile che il software client (come browser o sistemi operativi) smetta di accettarla il più presto possibile. Per questo motivo, ti consigliamo vivamente di implementare un sistema automatizzato di revoca, riemissione, recupero e installazione di certificati sui tuoi server.

L'API SWS di SSL.com ti consente di revocare in modo programmatico uno, più o tutti i certificati in uno qualsiasi dei tuoi ordini di certificati. La seguente chiamata API revocherà tutti i certificati nell'ordine dei certificati 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 = = "," motivo ":" rubato "} '\' https: //sws.sslpki.com / certificate / co-ac1ecm200 '{"status": "revoked"}

Questo comando cURL emette una richiesta DELETE HTTP (anziché un GET o POST come i comandi precedenti) e fornisce la configurazione JSON in linea. È inoltre valido creare un file con i contenuti JSON e passarlo a cURL tramite il nome file allo stesso modo del comando che ha emesso l'ordine del certificato.

Puoi specificare qualunque motivo desideri nel reason  e può facoltativamente includere un elenco di numeri di serie del certificato in JSON per revocare solo i certificati corrispondenti a tali seriali. Se non vengono inclusi numeri di serie, tutti i certificati appartenenti all'ordine di certificato specificato verranno revocati.

Per ulteriori informazioni su questa chiamata API, dai un'occhiata al nostro Documentazione delle API.

Conclusione

Questo articolo descrive un processo semplice per emettere e revocare un certificato del server DV, come un esempio semplicistico delle operazioni che puoi eseguire tramite l'API SWS di SSL.com. Noi di SSL.com incoraggiamo l'uso dell'automazione laddove possibile perché elimina il fastidio di eseguire manualmente le stesse attività ripetitive e, cosa più importante, consente tempi di risposta più rapidi in caso di emergenza (vedere il problema di entropia del numero di serie).

Non esitate a sperimentare con il nostro sandbox ed API SWSe non esitare a contattare i nostri agenti dell'assistenza in caso di problemi.

Grazie per aver scelto SSL.com! In caso di domande, contattaci tramite e-mail all'indirizzo Support@SSL.com, chiama 1-877-SSL-SECUREoppure fai clic sul link della chat in basso a destra in questa pagina. Puoi anche trovare risposte a molte domande comuni di supporto nel nostro base di conoscenza.
Twitter
Facebook
LinkedIn
Reddit
E-mail

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.