API SWS SSL.com - Pendahuluan

Mengelola sertifikat dalam jumlah besar bisa jadi cukup merepotkan. Insiden yang terjadi secara acak, seperti yang terjadi di seluruh industri baru-baru ini masalah entropi nomor seri, mungkin memerlukan administrator untuk secara manual mencabut dan menerbitkan ulang ratusan sertifikat sekaligus. Agen dukungan dan administrator kami sendiri juga pernah mengalami ini di masa lalu, sebuah fakta yang memotivasi SSL.com untuk mengimplementasikan solusi yang lebih praktis: API Layanan Web SSL.com (SWS).

API SWS dapat digunakan untuk mengotomatiskan berbagai operasi yang terkait dengan sertifikat, seperti menerbitkan sertifikat, memasukkan kembali dan memproses kembali pesanan, mengelola akses pengguna, dan sebagainya melalui pemrograman atau bahasa scripting apa pun. Untuk mendapatkan perintah API cURL pregenerated untuk pesanan individual, coba tambahkan /developer di akhir halaman pesanan sertifikat (mis https://www.ssl.com/certificate_orders/co-1234xyz/developer).

Untuk memperkenalkan beberapa fitur API, tutorial ini akan memandu Anda melalui penerbitan file sertifikat server web yang divalidasi domain (DV). Dalam prosesnya kami akan menyentuh banyak topik berguna, seperti mengakses API, membuat a CSR, dan mempersiapkan server Anda untuk validasi kontrol domain. Terlebih lagi, kita akan melihat bagaimana kita dapat mencabut sertifikat secara massal melalui API, yang sangat berguna dalam kasus insiden keamanan.

Kotak Pasir

Otomatisasi jenis apa pun memerlukan pengujian ekstensif sebelum diluncurkan dalam sistem produksi, terutama bila melibatkan uang. Untuk alasan ini, SSL.com telah menerapkan dan memelihara Bak pasir. Sandbox adalah klon pengembangan API produksi kami. Ini berisi semua fungsi asli, tetapi tidak terhubung ke basis data produksi. Ini artinya Anda dapat membuat pengguna baru dan bereksperimen dengan bebas tanpa takut mengacaukan sesuatu dan ditagih karena kesalahan.

Ketika Anda puas bahwa otomasi Anda berfungsi dengan baik di Sandbox, Anda kemudian dapat memindahkan kode Anda ke produksi dan memastikan bahwa skrip Anda tidak akan gagal.

CATATAN: Artikel ini telah dikembangkan untuk Sandbox, dan Anda dapat bereksperimen dengan salah satu panggilan API yang terkandung dalam dokumen ini.

API produksi dapat ditemukan di URL berikut:

https://sws.sslpki.com/

Untuk melakukan panggilan API ke Sandbox, Anda hanya perlu mengubah nama domain seperti yang ditunjukkan dalam cuplikan berikut:

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

Siapkan Lingkungan

Sebelum mulai bermain-main dengan API, Anda harus terlebih dahulu menyiapkan lingkungan kerja. Alat yang akan kita gunakan sepanjang tutorial ini adalah terminal Linux dan editor teks tepercaya Anda.

CATATAN: Instruksi ini telah ditulis untuk vanilla Ubuntu Linux distribusi, yang merupakan lingkungan pengembangan khas yang mungkin ditemui seseorang di dunia nyata. Karena itu, skrip yang disediakan dalam dokumen ini juga berfungsi pada Windows via Cygwin.

Hal pertama yang Anda perlukan adalah direktori untuk semua file yang diperlukan. Demi utilitas, kami akan merujuk ke direktori ini sebagai sslcom_api_test/ atau "direktori kerja". Untuk membuat dan masuk ke direktori, berikan perintah berikut ke terminal.

$ mkdir ~ / sslcom_api_test $ cd ~ / sslcom_api_test

Selanjutnya, Anda harus mengunduh Paket sertifikat perantara SSL.com, yang merupakan file arsip yang berisi semua file sertifikat yang diperlukan untuk mengakses API dengan aman. Dengan begitu, setiap data yang Anda tukarkan dengan server API akan dienkripsi dan Anda dapat yakin bahwa informasi sensitif apa pun, seperti kunci API, akan dilindungi dari penyadapan.

Unduh arsip ZIP dari tautan di atas dan unzip ke direktori kerja. (Pastikan Anda berubah ~/Downloads ke direktori tempat Anda menyimpan file ZIP, jika perlu). File sertifikat yang akan kita gunakan sepanjang artikel ini adalah SSL_COM_RSA_SSL_SUBCA.crt.

CATATAN: Pada Windows, Anda harus mencari arsip ZIP, klik dua kali, dan ekstrak file di direktori kerja.
$ unzip ~ / Downloads / SSLcom_DV_CA_Zip.zip -d. Arsipkan: ./SSLcom_DV_CA_Zip.zip mengekstrak: ./SSL_COM_RSA_SSL_SUBCA.crt mengekstrak: ./SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt mengekstrak: ./CERTUM_TRUSTED_NETWORK_CA.crt

Kami akan menggunakan keriting, alat jaringan Linux yang khas, untuk semua panggilan API dalam tutorial ini. cURL dapat melakukan operasi HTTP apa pun dan diinstal secara default di sebagian besar distribusi Linux. Terlebih lagi, cURL dapat dengan mudah diinstal pada Windows melalui executable biner yang disediakan di halaman proyek cURL, atau dengan memilihnya di penginstal Cygwin. Namun, harap dicatat bahwa karena API didasarkan pada format terbuka, Anda dapat menggunakan hampir semua alat jaringan atau bahasa pemrograman lain untuk mengaksesnya.

Selain itu, kita akan menggunakan OpenSSL untuk menyiapkan pesanan sertifikat kami. OpenSSL adalah kit alat sumber terbuka yang dapat melakukan hampir semua operasi kriptografi yang mungkin Anda perlukan. Alat ini juga termasuk dalam daftar paket Cygwin, oleh karena itu Anda dapat memilihnya untuk penginstalan saat mengatur instance Cygwin Anda, atau menginstalnya secara manual melalui file biner yang disediakan di beranda proyek.

Terakhir, Anda memerlukan dua kunci API untuk bekerja dengan Sandbox, yang terkait dengan akun pengguna Anda. Jika Anda belum memiliki akun di Sandbox, silakan mendaftar melalui Sandbox  pendaftaran form. Prosesnya identik dengan membuat akun pelanggan SSL.com yang normal. Jika Anda sudah memiliki akun di Kotak Pasir, Anda dapat melewati langkah ini dengan aman.

Akses API

API SWS kami didasarkan pada HTTP (peramban protokol gunakan), dan semua data dipertukarkan di Format JSON.

Mayoritas panggilan API akan mengharuskan Anda untuk memasukkan account_key dan secret_key parameter untuk tujuan otorisasi. Anda selalu dapat menemukan kredensial akun Anda di halaman Dasbor Sandbox, meskipun dalam hal ini kami akan mengambilnya melalui API.

Perintah yang tercantum dalam potongan kode berikutnya akan memasukkan Anda ke portal dan mengambil informasi akun Anda termasuk kunci API ini. Jika Anda menyalin dan menempelkan perintah di jendela terminal, pastikan Anda mengganti USERNAME dan PASSWORD dengan kredensial akun Anda.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET --data-urlencode 'password = PASSWORD' \ 'https: //sws-test.sslpki.com / pengguna / NAMA PENGGUNA '{"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 "}

Meskipun sintaks cURL cukup mudah, mari membuat Anda lebih mengenalnya dengan melihat panggilan sebelumnya secara mendetail.

  • -L menginstruksikan cURL untuk mengikuti semua pengalihan HTTP. Anda harus menyertakan opsi ini di semua panggilan untuk menghindari masalah apa pun.
  • --cacert SSL_COM_RSA_SSL_SUBCA.crt menginstruksikan CURL untuk memvalidasi sertifikat server API, dengan sertifikat yang kami unduh dalam bundel. Ini akan memungkinkan cURL untuk mengenkripsi semua data yang dikirim ke server.
  • --request GET menginstruksikan cURL untuk melakukan permintaan HTTP GET. Beberapa panggilan hanya menerima permintaan HTTP POST atau PUT. Opsi ini adalah cara untuk menangani permintaan tersebut.
  • --data-urlencode mempersiapkan kata sandi akun untuk dikirim ke server. Permintaan GET dapat menyertakan parameter dalam URL, sementara permintaan PUT dan POST hanya menyertakan parameter di badan. Karena kata sandi akan dikirimkan melalui URL, kita harus menyandikannya untuk menghindari simbol apa pun (mis / , ? or # ) yang mungkin membingungkan server. Proses ini disebut Pengkodean URL.
CATATAN: Garis miring terbalik (\) di akhir baris pertama memaksa terminal Linux untuk mengabaikan karakter baris baru dan melanjutkan parsing karakter di baris berikutnya sebagai bagian dari perintah asli. Kami akan menggunakan sintaks ini untuk membagi perintah panjang menjadi beberapa baris, dalam upaya untuk membuatnya lebih rapi.

Hasil panggilan API adalah objek JSON yang berisi informasi akun, termasuk account_key dan secret_key, diperlukan dalam panggilan API berikutnya.

Terbitkan sertifikat server

Setelah menyiapkan lingkungan kerja dan mendapatkan kunci API, Anda sekarang siap untuk mulai bermain-main dengan API. Sebagai contoh, kami akan meminta penerbitan a Sertifikat SSL dasar untuk server web imajiner bernama example.ssl.com. Terlepas dari apakah Anda menggunakan API atau portal pelanggan, penerbitan sertifikat mengharuskan langkah-langkah tertentu untuk diikuti.

Langkah-langkah ini termasuk menghasilkan pasangan kunci pribadi dan publik, membuat a permintaan penandatanganan sertifikat (CSR), membuat pesanan sertifikat, dan melakukan validasi kontrol domain.

Hasilkan CSR

Ada beberapa metode untuk membuat a CSR, namun karena kita sudah menggunakan terminal, mari kita lihat cara membuat file CSR dengan OpenSSL. Jika Anda sudah memiliki file CSR Anda dapat menggunakan untuk tujuan ini, Anda dapat melewati langkah ini.

A CSR adalah file disandikan base64 yang berisi sebagian besar informasi yang akan dimasukkan dalam file sertifikat akhir. Di antara isinya yang paling penting adalah kunci publik dan nama domain dari server sertifikat akan dikeluarkan untuk.

Itu berarti kita akan membutuhkan pasangan kunci publik sebelum mengeluarkan a CSR. Perintah berikut akan membuat yang baru KEP file di direktori kerja, bernama example.ssl.com.key, mengandung dua kunci.

$ openssl genrsa -out example.ssl.com.key 2048 Menghasilkan kunci pribadi RSA, modulus panjang 2048 bit ................... +++ ...... .................................................. ...... +++ e adalah 65537 (0x010001)

Menggunakan pasangan kunci, OpenSSL sekarang dapat menghasilkan file CSR untukmu. Untuk mencapai ini, silakan gunakan perintah yang ditunjukkan dalam cuplikan kode berikut.

$ openssl req -baru -contoh kunci.ssl.com.kunci -keluar contoh.ssl.com.csr

Anda akan diminta memasukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Apa yang akan Anda masukkan adalah apa yang disebut Nama yang Dibedakan atau DN. Ada beberapa bidang tetapi Anda dapat membiarkan beberapa kosong. Untuk beberapa bidang akan ada nilai default, Jika Anda memasukkan '.', Bidang akan dikosongkan. ----- Nama Negara (kode 2 huruf) [AU]: Nama Negara Bagian atau Provinsi AS (nama lengkap) [Some-State]: Nama Lokalitas Texas (mis., Kota) []: Nama Organisasi Houston (mis., Perusahaan) [Internet Widgits Pty Ltd]: Contoh Nama Unit Organisasi (mis., Seksi) []: Contoh Nama Umum Departemen (mis. FQDN server atau nama ANDA) []: example.ssl.com Alamat Email []: admin@example.ssl. com Silakan masukkan atribut 'ekstra' berikut untuk dikirim bersama permintaan sertifikat Anda. Kata sandi tantangan []: Nama perusahaan opsional []:

OpenSSL akan bertanya tentang informasi kontak dasar Anda dan Nama yang umum dari sertifikat. Untuk sertifikat SSL, Nama Umum adalah nama domain server (dalam kasus ini example.ssl.com). Menjalankan perintah di atas akan membuat file, bernama example.ssl.com.csr, dalam direktori saat ini yang mengandung base64 yang dikodekan CSR.

$ contoh kucing.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-----

Buat pesanan sertifikat

Setelah memperoleh CSR, Anda sekarang siap untuk membuat pesanan sertifikat melalui API. Panggilan API pertama yang kami lihat adalah permintaan GET, sedangkan yang ini adalah POST. Permintaan POST harus menyertakan semua parameter di tubuhnya sebagai objek JSON. Akibatnya, Anda perlu memformat parameter pesanan sertifikat di JSON. Konfigurasi JSON untuk contoh ini dapat ditemukan di cuplikan berikut.

{"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": "Contoh nomor", "register_country_name": "US", "unique_value": "1ed1c72baf", "csr":" ----- MULAI PERMINTAAN SERTIFIKAT ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- AKHIR PERMINTAAN SERTIFIKAT ----- "}

Kami telah melihat kunci API sebelumnya. Namun, untuk memesan sertifikat kami juga harus memasukkan parameter tambahan seperti product ID dan validitasnya period. Anda dapat menemukan daftar ID produk di Dokumentasi SWS API. Dalam contoh ini, pesanan dibuat untuk sertifikat SSL dasar dengan masa berlaku 1 tahun. Grup parameter berikutnya menyimpan informasi kontak tentang pendaftar (yaitu Anda). Itu unique_value parameter (opsional), berisi string alfanumerik yang memastikan keunikan permintaan. Jika Anda tidak memberikan nilai unik, nilai acak akan dibuat untuk Anda. Menentukan nilai unik dengan cara ini berguna jika Anda ingin membuat file DCV atau entri CNAME di luar portal pengguna SSL.com. Terakhir, file csr parameter harus mengandung basis64 yang dienkodekan CSR, seperti yang kami simpan example.ssl.com.csr.

Ganti parameter dengan nilai Anda sendiri rincian kontak dan CSR, dan simpan konfigurasi JSON ini dalam file bernama example.ssl.com.json.

Catatan: Pastikan Anda telah menghapus semua karakter baris baru dari CSR sebelum menambahkannya ke perintah. Baris baru digunakan untuk menginstruksikan terminal untuk memproses teks yang dimasukkan hingga karakter baris baru. Membiarkan karakter dalam mungkin membuat perintah cURL Anda gagal.

Setelah semuanya diatur, Anda sekarang siap untuk membuat pesanan Anda. cURL menerima parameter JSON baik sebagai string sebaris, atau melalui nama file. Karena opsi pertama terlalu bertele-tele, mari berikan nama file sebagai gantinya.

Harap perhatikan --data-binary sakelar cURL, yang menginstruksikan cURL untuk menyertakan konten file di badan permintaan POST.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request POST --header "Jenis Konten: application / json" \ --data-binary "@ example.ssl.com.json" 'https: // sws-test .sslpki.com / certificate '{"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 "," recehan_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," certificate ": null}

Hasil operasi adalah objek JSON lain yang berisi detail pesanan sertifikat yang baru dibuat. Kita bisa melihatnya order_status, dan nomor rujukannya di ref parameter yang digunakan untuk referensi pesanan ini di semua panggilan API berikutnya. Selain itu, output berisi berbagai URL, seperti certificate_url, yang mengarah ke detail pesanan di portal dan validation_url, yang menunjuk ke halaman validasi pesanan.

Terakhir, certificates akan berisi semua sertifikat yang terkait dengan pesanan. Karena pesanan belum divalidasi, belum ada sertifikat yang dibuat.

Validasi kontrol domain

Seperti yang tercantum dalam pesanan sertifikat order_status of validation required, Anda perlu melakukan validasi sebelum mengeluarkan sertifikat.

CA yang dipercaya secara publik (seperti SSL.com) diperlukan untuk memverifikasi bahwa pembeli sertifikat benar-benar mengontrol server tempat sertifikat akan dikeluarkan sebelum menerbitkan sertifikat apa pun. Ini dapat dicapai melalui beberapa metode, dan Anda dapat melihat semua metode validasi yang tersedia untuk pesanan tertentu melalui panggilan API berikutnya.

Pastikan Anda mengganti nomor referensi co-ac1ecm200 di URL dengan nomor referensi pesanan Anda, yang dibuat di panggilan API sebelumnya.

$ 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 / sertifikat / co-ac1ecm200 / validasi / metode '{"instruksi": "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-validasi / 29BD4C00B65613CCEC04C19C0050D931.txt "," allow_https ":" true "," isi ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAcAF0945252E35F9D751 \ nname_sl.comcsr_hash ": {" cname ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com. CNAME ff8716e0fd.ssl.com. "," Name ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "," nilai ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CCEC8C2002C0945252D35.example.ssl.com "," nilai ":" BF9FDFD751C8716D0BXNUMXFCXNUMXAXNUMXEXNUMXDXNUMX.BeXNUMXCAFXNUMXDXNUMXBAEAFXNUMXfXNUMX.com. com "}

Output yang dikembalikan akan mencakup semua informasi yang Anda butuhkan untuk melakukan validasi kontrol domain. Misalnya, jika Anda ingin menggunakan http_csr_hash  metode validasi, Anda harus membuat file di server sertifikat ini akan dikeluarkan untuk, bernama .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt. File seharusnya persis mengandung nilai contents parameter.

Setelah itu, Anda dapat mengunjungi validation_url ditemukan dalam panggilan sebelumnya yang menciptakan pesanan dan melanjutkan dengan validasi seperti yang biasanya Anda lakukan dengan pesanan yang Anda buat melalui portal pelanggan Anda. (Anda selalu dapat mengunjungi Validasi halaman dan temukan URL untuk urutan tertentu).

Setelah validasi kontrol domain berhasil terjadi, sertifikat akan dikeluarkan dan Anda akan dapat mengunduhnya.

Ambil kembali sertifikat

Anda dapat menemukan sertifikat Anda di portal web atau mengambilnya melalui API. Untuk tujuan kami, kami akan menggunakan API. Seperti yang terlihat di bagian sebelumnya, saat membuat pesanan sertifikat baru, respons berisi nomor referensi. Nomor ini dapat digunakan untuk mengambil detail pesanan termasuk data sertifikat yang sebenarnya.

$ 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 = individual & response_encoding = base64 '{"description": "1 Tahun Basic SSL", "product": "106", "product_name": "basicssl", "order_status": "issue" , "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}," certificate ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "," common_name ":" example.ssl.com "," domain_qty_purchased ":" 1 "," wild_purchased ":" 0 "," wild_purchased " 2019 "," subject_alternative_names ": [" example.ssl.com "," www.example.ssl.com "]," validations ": null," effective_date ":" 05-03-11T22: 37.000: 05-00: 2020 "," expiration_date ":" 05-02-11T22: 37.000: 05-00: 256 "," algoritma ":" SHA15 "," external_order_number ": null," domain ": null," site_seal_code ": null," subscriber_agreement ": null," server_software ": XNUMX," contacts ": [{...}, {...}]}

Karena API dimaksudkan untuk digunakan secara terprogram, Anda harus menguraikan respons JSON untuk mengisolasi sertifikat dan menyimpannya ke dalam file. Parsing JSON berada di luar cakupan artikel ini; namun, ini adalah tugas sederhana yang dapat dengan mudah diimplementasikan dalam sebagian besar bahasa pemrograman atau scripting modern

Jika Anda tidak memiliki nomor referensi, Anda dapat mengeluarkan panggilan API untuk mengambil semua pesanan sertifikat akun Anda. Panggilan ini memungkinkan Anda untuk memfilter pesanan, serta informasi mana yang akan ditampilkan.

$ 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? fields = domain, ref, order_status '[{"ref": "co-ac1ecm200", "order_status": "Issu", "domain": ["example.ssl.com"]}, {" ref ":" co-581eclsap "," order_status ":" memvalidasi, harap tunggu "," domain ": [" example.ssl.com "]}, {" ref ":" co-6f1ecm1of "," order_status ": "menunggu informasi kontak dari pelanggan", "domain": ["test.ssl.com"]}}

Grafik fields Parameter URL memungkinkan Anda untuk mengontrol detail sertifikat mana yang akan ditampilkan di output. Anda juga dapat membuat paginasi via per_page dan page parameter permintaan. Untuk membatasi jumlah sertifikat berdasarkan tanggal penerbitannya, Anda dapat menggunakan start dan end parameter. Terakhir, Anda dapat memfilter dan mencari pesanan menggunakan kriteria seperti ID produk, tanggal kedaluwarsa, atau bidang lain apa pun yang terkandung dalam sertifikat. Untuk informasi lebih lanjut, lihat Dokumentasi API SSL.com.

Cabut sertifikat

Fitur terakhir yang akan kita lihat dalam panduan ini adalah pencabutan sertifikat massal. Sertifikat dapat melindungi Anda selama hanya Anda (atau orang yang Anda percayai) yang memegang kunci pribadi yang terkait dengannya. Dalam hal kunci pribadi dikompromikan, atau informasi tentang sertifikat perlu diubah, maka sertifikat harus segera dicabut dan yang baru harus dikeluarkan.

Dalam kasus-kasus di mana kunci pribadi dicurigai dicuri, sangat penting bahwa perangkat lunak klien (seperti browser atau sistem operasi) berhenti menerimanya valid sesegera mungkin. Untuk alasan ini, kami sangat menyarankan Anda menerapkan sistem pencabutan, penerbitan ulang, pengambilan, dan pemasangan sertifikat otomatis di server Anda.

API SWS SSL.com memungkinkan Anda untuk secara terprogram mencabut satu, lebih atau semua sertifikat di bawah salah satu pesanan sertifikat Anda. Panggilan API berikut akan mencabut semua sertifikat di bawah pesanan sertifikat co-ac1ecm200:

curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request DELETE --header "Jenis Konten: application / json" \ --data-binary '{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ = = "," reason ":" stolen "} '\' https: //sws.sslpki.com / certificate / co-ac1ecm200 '{"status": "revoked"}

Perintah cURL ini mengeluarkan permintaan DELETE HTTP (bukan GET atau POST seperti perintah sebelumnya) dan menyediakan inline konfigurasi JSON. Juga valid untuk membuat file dengan konten JSON dan meneruskannya ke cURL melalui nama file dengan cara yang sama seperti perintah yang mengeluarkan perintah sertifikat.

Anda dapat menentukan alasan apa pun yang Anda inginkan di reason  parameter, dan secara opsional dapat menyertakan daftar nomor seri sertifikat di JSON untuk hanya mencabut sertifikat yang cocok dengan serial tersebut. Jika tidak ada nomor seri yang disertakan, maka semua sertifikat milik pesanan sertifikat yang ditentukan akan dicabut.

Untuk informasi lebih lanjut tentang panggilan API ini, silakan lihat di Dokumentasi API.

Kesimpulan

Artikel ini menjelaskan proses langsung untuk menerbitkan dan mencabut sertifikat server DV, sebagai contoh sederhana dari operasi yang dapat Anda lakukan melalui API SWS SSL.com. Kami di SSL.com mendorong penggunaan otomasi jika memungkinkan karena menghilangkan kerumitan melakukan tugas berulang yang sama secara manual, dan yang lebih penting memungkinkan waktu respons yang lebih cepat dalam keadaan darurat (lihat masalah entropi nomor seri).

Silakan bereksperimen dengan kami Bak pasir dan API SWS, dan jangan ragu untuk menghubungi agen dukungan kami jika Anda mengalami masalah.

Terima kasih telah memilih SSL.com! Jika Anda memiliki pertanyaan, silakan hubungi kami melalui email di Support@SSL.com, panggil 1-877-SSL-SECURE, atau cukup klik tautan obrolan di kanan bawah halaman ini. Anda juga dapat menemukan jawaban atas banyak pertanyaan dukungan umum di kami dasar pengetahuan.
Twitter
Facebook
LinkedIn
Reddit
Email

Tetap Terinformasi dan Aman

SSL.com adalah pemimpin global dalam keamanan siber, PKI dan sertifikat digital. Daftar untuk menerima berita industri terkini, tips, dan pengumuman produk dari SSL.com.

Kami sangat menantikan tanggapan Anda

Ikuti survei kami dan beri tahu kami pendapat Anda tentang pembelian terakhir Anda.