Scutum活用ブログ

過去のお知らせ

SSL証明書の更新

URI

https://api.scutum.jp/api/v1/update_cert


APIの概要
Scutum環境に設定しているSSL証明書を更新します。

APIを利用して更新したSSL証明書は自動的に有効化されます。
 更新前の証明書に設定を戻したい場合は、管理画面上の証明書の一覧で設定を変更してください。


<呼び出しリクエストの例>
・POSTメソッドで、JSONリクエストを送信します。
(リクエスト内の Content-Typeヘッダ で、application/json 等を指定します。)
・リクエストのボディ部をJSON構文で記述し、証明書情報(サーバ証明書・秘密鍵・中間CA局証明書等を指定して送信します。
各証明書情報のヘッダ(-----BEGIN CERTIFICATE-----等)やフッタ(-----END CERTIFICATE-----等)と証明書本文の間に改行コード「\n」を含める必要があります。

POST /api/v1/update_cert?host=www.example.jp&id=ABC1234 HTTP/1.1
Host: api.scutum.jp
X-Scutum-API-Key: 17a1f5d161b33b6404faa8f8ccfdfdf2edf
Content-Type: application/json
Content-Length: 3011

{
 "cert"
: "-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIUE40exig4W5dpUtrIFak85uqzvYIwDQYJKoZIhvcNAQEL\nBQAwSzEeMBwG
A1UEAwwVdGVzdDIuc2N1dHVtLXRlc3QuY29tMQ0wCwYDVQQKDAR0\nZXN0MQswCQYDVQQGEwJ
~<サーバ証明書 ※途中省略>~
FlUxoFvThXRUZcLuimps5kufsYDWzN662nm6tjfDeWhX\nYp4ymtrIGDQWKJQCF/Ek5iFsXiyU94cL0G
gpt1WM5TEiXRplkI\n3uCqzkJ4pidjG0pa5HK3BD9FecUUKm/uWeI2\n-----END CERTIFICATE-----",
 "key"
: "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAq+BwsBWqsbvEbZcW+mBun3/81fSqPVhD8l4GdBd43wwkgyAP\nz77OYo5bX
a7kmFDlg3Ci1DQix0cXBlz/z+VSjjZKLzYNJjXvcW7msWoojqIii1N\ngtO8bAUTCLuX3KGfOW621Z26aO
~<秘密鍵 ※途中省略>~
JOmoXFszK+rUK\nkp+hAoGAfITR4XSiHAEKTTxVLfUe0WzDce2qa5f4CVhzIJ62MsOpVJQpLKsqP3Ka
3yBVNkMc1b6bol6tQb5pkyTvU4Vou1EA1ZIzEx9DOFqdGPjnU=\n-----END RSA PRIVATE KEY-----",
 "password"
: "L}r~<秘密鍵のパスフレーズ ※途中省略>~erfG",
 "im"
: [ "-----BEGIN CERTIFICATE-----\nMIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD
~<中間CA局証明書1 ※途中省略>~
uEjN/lxPFin+HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6ZvMldlTTK
B3zhThV1+XWYp6rjdJThBVGP7pSWTUTsqXnLRbwHOoq7hHwg==\n-----END CERTIFICATE-----" ,
"-----BEGIN CERTIFICATE-----\nMIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/MSQwIgYDVQQ
KExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
~<中間CA局証明書2 ※途中省略>~ VuGWCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9Ohe8Y4IWS6wY7bC
kjCWDcRQJMhg76fxE+FiYruqM4+qR9sdjoSYKEBpsr6Gt4dy753ec5\n-----END CERTIFICATE-----" ]
}

URLパラメータ一覧

パラメータ名 必須 説明
host APIキーを発行したFQDNです。
id Scutum管理画面のIDです。
APIキーを発行したFQDNと対応する管理画面IDを指定してください。


リクエストボディ部に付与する証明書情報の一覧

・全パラメータを文字列として扱うため、証明書情報はダブルクオーテーションで囲む形式で記述します。
・改行コードは、呼び出しリクエストの例のように、ダブルクォーテーションに囲まれた内部で\nとして記述します。

パラメータ名 必須 説明
cert サーバ証明書です。
key 秘密鍵です。
password 秘密鍵のパスフレーズです。
※秘密鍵が暗号化されている場合は記述が必要です。
im 中間CA局証明書です。
複数存在する場合は、連結して1つの文字列として記述するか、文字列の配列として記述します。

・連結して1つの文字列として記述する場合
  "im" : "IM1\nIM2"
・文字列の配列として記述する場合
  "im" : [ "IM1" , "IM2" ]


呼び出し結果のレスポンス例

・更新に成功した場合

 レスポンスで以下のようなステータスコード200が返ります。

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{
 "status" : "ok" }

・入力に問題がある場合

 レスポンスで以下のようなステータスコード400が返ります。
 errorの内容は、error のパラメータに記載されます。

HTTP/1.1 400 Bad Request
{
 "error_on" : "7-p1" , "error_id" : "67af83b7-7f43-4636-b088-c395dd1513b4" , "error" :
 "Key And Cert Not Match"
}

・Scutum側の処理時にエラーが発生した場合(障害発生時など)

 レスポンスでステータスコード500が返ります。しばらく待ってから再度実行してください。

入力に問題がある場合にレスポンスに含まれるパラメータ一覧

パラメータ 説明
certInvalid Method リクエストがPOSTメソッドで行われなかった事を示します。
Invalid Content Type リクエストヘッダ内の Content-Type のヘッダでJSON形式が指定されていないことを示します。
Invalid JSON Type リクエストボディ部分のJSON構文のルールを満たしていないことを示します。
※ { } で囲まれていない場合など
Invalid Cert サーバ証明書(cert)のパラメータに不備があることを示します。
Invalid Key 秘密鍵(key)や、秘密鍵のパスフレーズ(password)のパラメータに不備があることを示します。
Invalid IM 中間CA局証明書(im)のパラメータに不備があることを示します。
Key And Cert Not Match 秘密鍵とサーバ証明書の組み合わせが正しくないことを示します。