SSL.comのSWSAPI –はじめに

大量の証明書を管理するのはかなり面倒です。 最近の業界全体などのランダムに発生するインシデント シリアル番号エントロピーの問題、管理者が数百の証明書を一度に手動で取り消して再発行する必要がある場合があります。 私たち自身のサポートエージェントと管理者も過去にこれを経験しました。この事実により、SSL.comはより実用的なソリューションを実装する動機となりました。 SSL.com Webサービス(SWS)API.

SWS APIを使用すると、証明書の発行、キーの再生成と注文の再処理、ユーザーアクセスの管理など、プログラミングまたはスクリプト言語を介して、さまざまな証明書関連の操作を自動化できます。 個別の注文に対して事前に生成されたAPI cURLコマンドを取得するには、追加してみてください /developer 証明書注文ページの最後(例: https://www.ssl.com/certificate_orders/co-1234xyz/developer).

APIの機能のいくつかを紹介するために、このチュートリアルでは、APIの発行について説明します。 ドメイン検証済み(DV)Webサーバー証明書。 その過程で、APIへのアクセスや、 CSR、およびドメイン制御検証のためにサーバーを準備します。 さらに、APIを使用して証明書を一括で取り消す方法を確認します。これは、セキュリティインシデントの場合に特に役立ちます。

サンドボックス

あらゆる種類の自動化は、特にお金がかかる場合、本番システムで起動する前に広範なテストを必要とします。 このため、SSL.comは、 サンドボックス。 サンドボックスは、私たちのプロダクションAPIの開発クローンです。 オリジナルのすべての機能が含まれていますが、本番データベースには接続されていません。 つまり、何かを台無しにしたり、間違いを犯したりすることを恐れることなく、新しいユーザーを作成して自由に実験することができます。

サンドボックスでオートメーションが適切に機能していることを確認したら、コードを本番環境に移動して、スクリプトが失敗しないことを確認できます。

注意: この記事はサンドボックス向けに開発されたものであり、このドキュメントに含まれている任意のAPI呼び出しを試すことができます。

本番用APIは次のURLにあります。

https://sws.sslpki.com/

サンドボックスへのAPI呼び出しを実行するには、次のスニペットに示すように、ドメイン名のみを変更する必要があります。

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

環境を整える

APIをいじる前に、まず作業環境を準備する必要があります。 このチュートリアルで使用するツールは、Linux端末と信頼できるテキストエディターです。

注意: これらの指示はバニラのために書かれています Ubuntu Linuxの これは、現実の世界で遭遇する可能性のある典型的な開発環境です。 そうは言っても、このドキュメントで提供されているスクリプトは、Windowsでも動作します。 Cygwin.

最初に必要なのは、必要なすべてのファイルのディレクトリです。 ユーティリティのために、このディレクトリを次のように参照します sslcom_api_test/ または「作業ディレクトリ」。 ディレクトリを作成して入力するには、ターミナルで次のコマンドを発行してください。

$ mkdir〜/ sslcom_api_test $ cd〜/ sslcom_api_test

次に、ダウンロードする必要があります SSL.comの中間証明書バンドルこれは、APIに安全にアクセスするために必要なすべての証明書ファイルを含むアーカイブファイルです。 これにより、APIサーバーと交換するすべてのデータが暗号化され、APIキーなどの機密情報が盗聴から保護されるので、安心できます。

上記のリンクからZIPアーカイブをダウンロードし、作業ディレクトリに解凍します。 (変更することを確認してください ~/Downloads 必要に応じて、ZIPファイルを保存したディレクトリに移動します)。 この記事で使用する証明書ファイルは SSL_COM_RSA_SSL_SUBCA.crt.

注意: Windowsでは、ZIPアーカイブを見つけてダブルクリックし、作業ディレクトリにファイルを抽出する必要があります。
$ unzip〜 / Downloads / SSLcom_DV_CA_Zip.zip-d。 アーカイブ:./ SSLcom_DV_CA_Zip.zip抽出:./ SSL_COM_RSA_SSL_SUBCA.crt抽出:./ SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt抽出:./ CERTUM_TRUSTED_NETWORK_CA.crt

使用します curl、このチュートリアルのすべてのAPI呼び出し用の典型的なLinuxネットワークツール。 cURLは任意のHTTP操作を実行でき、ほとんどのLinuxディストリビューションにデフォルトでインストールされます。 さらに、cURLは、cURLプロジェクトページで提供されるバイナリ実行可能ファイルを介して、またはCygwinインストーラーで選択することにより、Windowsに簡単にインストールできます。 ただし、APIはオープンフォーマットに基づいているため、他のほぼすべてのネットワークツールやプログラミング言語を使用してアクセスできることに注意してください。

さらに、使用するつもりです OpenSSLの 証明書の注文を準備します。 OpenSSLは、必要と思われるほぼすべての暗号化操作を実行できるオープンソースのツールキットです。 このツールはCygwinパッケージリストにも含まれているため、Cygwinインスタンスのセットアップ時にインストール対象として選択するか、プロジェクトのホームページで提供されているバイナリファイルを介して手動でインストールできます。

最後に、サンドボックスを使用するには、ユーザーアカウントに関連付けられているXNUMXつのAPIキーが必要です。 サンドボックスにまだアカウントがない場合は、サンドボックスのアカウントから登録してください  登録用紙。 プロセスは、通常のSSL.com顧客アカウントの作成と同じです。 サンドボックスにすでにアカウントをお持ちの場合は、この手順を安全にスキップできます。

APIにアクセスする

私たちのSWS APIはHTTP(ブラウザが使用するプロトコル)に基づいており、すべてのデータは JSONフォーマット.

API呼び出しの大部分では、 account_key フォルダーとその下に secret_key 認可のためのパラメータ。 アカウントの認証情報はサンドボックスのダッシュボードページでいつでも確認できますが、この場合はAPIを介して取得します。

次のコードスニペットにリストされているコマンドは、ポータルにログインし、これらのAPIキーを含むアカウントの情報を取得します。 ターミナルウィンドウでコマンドをコピーして貼り付ける場合は、必ず置き換えてください USERNAME & PASSWORD アカウントの認証情報。

$ 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 "}

しかし cURLの構文 は非常に簡単です。前の呼び出しを詳細に調べて、より理解を深めましょう。

  • -L すべてのHTTPリダイレクトに従うようにcURLに指示します。 問題を回避するために、このオプションをすべての呼び出しに含める必要があります。
  • --cacert SSL_COM_RSA_SSL_SUBCA.crt cURLに指示します APIサーバーの証明書を検証する、バンドルでダウンロードした証明書を使用します。 これにより、cURLはサーバーに送信されるすべてのデータを暗号化できます。
  • --request GET HTTP GETリクエストを実行するようにcURLに指示します。 一部の呼び出しは、HTTP POSTまたはPUT要求のみを受け入れます。 このオプションは、そのような要求を処理する方法です。
  • --data-urlencode サーバーに送信するアカウントのパスワードを準備します。 GETリクエストにはURLにパラメーターを含めることができますが、PUTおよびPOSTリクエストには本文にのみパラメーターを含めることができます。 パスワードはURLを介して渡されるため、記号をエスケープするためにパスワードをエンコードする必要があります(例: / , ? or # )サーバーを混乱させる可能性があります。 このプロセスは URLエンコーディング.
注意: バックスラッシュ(\)最初の行の終わりで、Linux端末は改行文字を無視し、元のコマンドの一部として次の行の文字の解析を続行します。 この構文を使用して、長いコマンドを複数の行に分割し、それらをより見やすくします。

API呼び出しの結果は、アカウント情報を含むJSONオブジェクトです。 account_key & secret_key、後続のAPI呼び出しで必要です。

サーバー証明書を発行する

作業環境を準備し、APIキーを取得したら、APIを試す準備ができました。 例として、 基本SSL証明書 という架空のWebサーバーの場合 example.ssl.com。 APIを使用するか、カスタマーポータルを使用するかに関係なく、証明書の発行には特定の手順に従う必要があります。

これらの手順には、秘密鍵と公開鍵のペアの生成、 証明書署名リクエスト(CSR)、証明書の注文を作成し、 ドメイン制御の検証.

生成する CSR

いくつかの方法 を作成する CSR、しかしすでにターミナルを使用しているので、作成する方法を見てみましょう CSR OpenSSLを使用します。 すでにお持ちの場合 CSR この目的で使用できる場合は、この手順をスキップできます。

A CSR 最終的な証明書ファイルに含まれるほとんどの情報を含むbase64エンコードファイルです。 その最も重要な内容の中には 公開鍵サーバーのドメイン名 証明書が発行されます。

つまり、発行する前に公開鍵のペアが必要になります CSR。 次のコマンドは、新しい PEM という名前の作業ディレクトリ内のファイル example.ssl.com.key、XNUMXつのキーを含みます。

$ openssl genrsa -out example.ssl.com.key 2048 RSA秘密鍵の生成、2048ビット長のモジュラス................... +++ ...... ................................................................. ...... +++ eは65537(0x010001)

キーペアを使用して、OpenSSLは CSR あなたのために。 これを行うには、次のコードスニペットに示すコマンドを使用してください。

$ openssl req -new -key example.ssl.com.key -outexample.ssl.com。csr

証明書要求に組み込まれる情報の入力を求められようとしています。 入力しようとしているのは、いわゆる識別名またはDNです。 かなりの数のフィールドがありますが、空白のままにすることができます。一部のフィールドにはデフォルト値があります。「。」と入力すると、フィールドは空白のままになります。 -----国名(2文字のコード)[AU]:米国の州または県の名前(フルネーム)[一部の州]:テキサスの地域名(例:市)[]:ヒューストンの組織名(例:会社) [Internet Widgits Pty Ltd]:組織単位名の例(例:セクション)[]:部門の共通名の例(例:サーバーFQDNまたはあなたの名前)[]:example.ssl.com電子メールアドレス[]:admin@example.ssl。 com証明書リクエストとともに送信される次の「追加」属性を入力してくださいチャレンジパスワード[]:オプションの会社名[]:

OpenSSLはあなたの基本的な連絡先情報と 一般名 証明書の。 SSL証明書の場合、共通名はサーバーのドメイン名(この場合)です example.ssl.com)。 上記のコマンドを実行すると、次の名前のファイルが作成されます example.ssl.com.csr、base64エンコードを含む現在のディレクトリ CSR.

$ catexample.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-----

証明書の注文を作成する

を取得した CSRこれで、APIを介して証明書の注文を作成する準備が整いました。 最初に調べたAPI呼び出しはGETリクエストでしたが、これはPOSTリクエストです。 POSTリクエストには、本文にすべてのパラメーターをJSONオブジェクトとして含める必要があります。 したがって、証明書の注文のパラメーターをJSONでフォーマットする必要があります。 この例のJSON構成は、次のスニペットにあります。

{"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": "サンプル番号"、 "registered_country_name": "US"、 "unique_value": "1ed1c72baf"、 "csr":" ----- BEGIN CERTIFICATE REQUEST ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- END CERTIFICATE REQUEST ----- "}

以前にAPIキーを見てきました。 ただし、証明書を注文するには、次のような追加パラメーターも含める必要があります。 product IDと有効性 period。 製品IDのリストは、 SWS APIドキュメント。 この例では、有効期間が1年の基本的なSSL証明書が注文されています。 次のパラメータグループには、登録者(つまりあなた)に関する連絡先情報が格納されます。 ザ・ unique_value パラメータ(オプション)には、リクエストの一意性を保証する英数字の文字列が含まれます。 一意の値を指定しない場合、ランダムな値が生成されます。 この方法で一意の値を指定すると、SSL.comのユーザーポータルの外部でDCVファイルまたはCNAMEエントリを生成する場合に役立ちます。 最後に、 csr パラメータには、base64でエンコードされた有効なものが含まれている必要があります CSR、保存したのと同じように example.ssl.com.csr.

パラメータを独自の値に置き換えます 連絡先の詳細 & CSR、このJSON設定をという名前のファイルに保存します example.ssl.com.json.

注: からすべての改行文字を削除したことを確認してください CSR コマンドに追加する前。 改行は、改行文字まで入力されたテキストを処理するように端末に指示するために使用されます。 文字をそのままにしておくと、cURLコマンドが失敗する可能性があります。

すべての設定が完了したら、注文を作成する準備が整いました。 cURLは、インライン文字列として、またはファイル名を介して、JSONパラメータを受け入れます。 最初のオプションは冗長すぎるため、代わりにファイル名を渡します。

注意してください --data-binary cURLスイッチ。cURLに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 "、" 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、" certificates ":ヌル }

操作の結果は、新しく作成された証明書の注文の詳細を含む別のJSONオブジェクトです。 私たちはそれを見ることができます order_status、およびその参照番号 ref 以降のすべてのAPI呼び出しでこの順序を参照するために使用されるパラメーター。 さらに、出力には、次のようなさまざまなURLが含まれます。 certificate_url、ポータルの注文の詳細と、 validation_url、注文の検証ページを指します。

最後に、 certificates 注文に関連付けられたすべての証明書が含まれます。 注文はまだ検証されていないため、証明書は作成されていません。

ドメイン制御の検証

証明書の注文で述べたように order_status of validation required、証明書を発行する前に検証を実行する必要があります。

公的に信頼されているCA(SSL.comなど)は、証明書を発行する前に、証明書の購入者が証明書の発行先のサーバーを実際に制御していることを確認する必要があります。 これは、 複数の方法、この次のAPI呼び出しを介して、特定の注文で使用可能なすべての検証メソッドを表示できます。

参照番号を必ず置き換えてください co-ac1ecm200 前のAPI呼び出しで生成された注文の参照番号を含むURL内。

$ 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 / authentication / 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"、" 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 ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751 \ nssl.com \ n167c8a5c49csr_hash ":{" cname ":" _ 29BD4C00B65613CCEC04C19C0050D931.example.ssl.com。 CNAMEff8716e0fd.ssl.com。 "、" name ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "、" value ":" BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252E35F9D com "}

返される出力には、ドメイン制御の検証を実行するために必要なすべての情報が含まれます。 たとえば、 http_csr_hash  検証方法、この証明書が発行されるサーバーにファイルを作成する必要があります。 .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt。 ファイルは 正確に の値を含む contents パラメータに一致する最初のデバイスのリモートコントロール URL を返します。

その後、あなたは訪問することができます validation_url カスタマーポータルを介して作成したオーダーで通常行うように、オーダーを作成し、検証を進める前の呼び出しで見つかりました。 (いつでも 検証 ページに移動し、特定の注文のURLを見つけます)。

ドメインコントロールの検証が成功すると、証明書が発行され、ダウンロードできるようになります。

証明書を取得する

証明書はWebポータルで見つけるか、API経由で取得できます。 ここでは、APIを使用します。 前のセクションで説明したように、新しい証明書の注文を作成すると、応答に参照番号が含まれます。 この番号は、実際の証明書データを含む注文の詳細を取得するために使用できます。

$ 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 / authentication / co-ac1ecm200?response_type = personally&response_encoding = base64 '{"description": "1 Year Basic SSL"、 "product": "106"、 "product_name": "basicssl"、 "order_status": "issued" 、 "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 "、"メール ":null}、"証明書 ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "、" common_name ":" example.ssl.com "、" domains_qty_purchased ":" domains_qty_purchased " 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 "、"アルゴリズム ":" SHA00 "、" external_order_number ":null、"ドメイン ":null、" site_seal_code ":null、" subscriber_agreement ":null、" server_software ":256、"連絡先 ":[{...}、{...}]}

APIはプログラムで使用するためのものなので、証明書を分離してファイルに保存するには、JSON応答を解析する必要があります。 JSON解析はこの記事の範囲を超えています。 ただし、これはほとんどの最新のスクリプト言語またはプログラミング言語で簡単に実装できる単純なタスクです。

手元に参照番号がない場合は、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 / authentications?fields = domains、ref、order_status '[{"ref": "co-ac1ecm200"、 "order_status": "issued"、 "domains":["example.ssl.com"]}、{" ref ":" co-581eclsap "、" order_status ":"検証中、お待ちください "、" domains ":[" example.ssl.com "]}、{" ref ":" co-6f1ecm1of "、" order_status ": "顧客からの連絡先情報を待っています"、 "ドメイン":["test.ssl.com"]}}

  fields URLパラメータを使用すると、出力に表示される証明書の詳細を制御できます。 を介してさらにページネーションを行うことができます per_page & page リクエストパラメータ。 使用できる発行日に基づいて証明書の数を制限するには start & end パラメーター。 最後に、製品ID、有効期限、または証明書に含まれるその他のフィールドなどの基準を使用して、注文をフィルタリングおよび検索できます。 詳細については、 SSL.comのAPIドキュメント.

証明書を取り消す

このガイドで最後に取り上げる機能は、証明書の一括失効です。 証明書は、あなた(またはあなたが信頼する人)だけがそれらに関連付けられた秘密鍵を持っている限り、あなたを保護できます。 秘密鍵が危険にさらされた場合、または証明書の情報を変更する必要がある場合は、証明書をただちに取り消して、新しい証明書を発行する必要があります。

秘密鍵が盗まれた疑いがある場合は、クライアントソフトウェア(ブラウザーやオペレーティングシステムなど)ができるだけ早く有効なものを受け入れるのをやめることが不可欠です。 このため、サーバーで証明書の失効、再発行、取得、およびインストールを行う自動システムを実装することを強くお勧めします。

SSL.comのSWSAPIを使用すると、証明書の注文に基づいてXNUMXつ、複数、またはすべての証明書をプログラムで取り消すことができます。 次のAPI呼び出しは、証明書の順序ですべての証明書を取り消します 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 / authentication / co-ac1ecm200 '{"status": "revoked"}

このcURLコマンドは、(前のコマンドのようなGETまたはPOSTの代わりに)DELETE HTTPリクエストを発行し、JSON構成をインラインで提供します。 証明書の注文を発行したコマンドと同じ方法で、JSONコンテンツを含むファイルを作成し、ファイル名を介してcURLに渡すことも有効です。

希望する理由は何でも指定できます reason  パラメータ、およびオプションでJSONに証明書シリアル番号のリストを含めて、それらのシリアルに一致する証明書のみを取り消すことができます。 シリアル番号が含まれていない場合、指定された証明書の順序に属するすべての証明書が取り消されます。

このAPI呼び出しの詳細については、 APIドキュメント.

まとめ

この記事では、SSL.comのSWS APIを介して実行できる操作の簡単な例として、DVサーバー証明書を発行および取り消す簡単なプロセスについて説明します。 SSL.comでは、同じ反復タスクを手動で実行する手間を省き、さらに重要なことに緊急時の応答時間を短縮できるため、可能な場合は自動化の使用を推奨しています( シリアル番号エントロピーの問題).

ぜひお試しください サンドボックス & SWS API、問題が発生した場合は、お気軽にサポートエージェントにお問い合わせください。

SSL.comをご利用いただきありがとうございます。 ご不明な点がございましたら、メールでお問い合わせください。 Support@SSL.com電話する 1-877-SSL-SECURE、またはこのページの右下にあるチャットリンクをクリックしてください。 また、サポートに関する多くの一般的な質問への回答も、 知識ベース.
Twitter
Facebook
LinkedIn
Reddit
メール

常に最新情報を入手して安全を確保

SSL.com サイバーセキュリティの世界的リーダーであり、 PKI そしてデジタル証明書。サインアップして、最新の業界ニュース、ヒント、製品のお知らせを受け取ります。 SSL.com.

フィードバックをお待ちしております

アンケートにご協力いただき、最近のご購入についてのご意見をお聞かせください。