4 Javaキーストアのキーストア管理
REST APIを使用してドメイン内でJavaキーストア(JKS)のキーストアの参照や管理を行うには、まず、RESTリソースにアクセスする方法と、その他の重要な概念について理解しておく必要があります。
詳細は、「REST APIについて」を参照してください。
JKSキーストアの管理の詳細は、『Webサービスの管理』のメッセージ保護のためのキーストアの構成に関する項を参照してください。
この章の内容は次のとおりです:
4.1 RESTリソースを使用したドメイン内のJKSキーストアの参照と管理
Representational State Transfer (REST)リソースを使用すると、JKSキーストアの参照と管理が可能になります。
ドメイン内のJKSキーストアの参照と管理には、Representational State Transfer (REST)リソースのセットを使用できます。次に、その概要を示します。
タスク | メソッド | リソース・パス |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.2 JKSキーストアの信頼できる証明書のすべての別名のGETメソッド
このGETメソッドは、JKSキーストアに含まれる信頼できる証明書のエントリに対応するすべての別名を取得するために使用します。
RESTリクエスト
GET /idaas/platform/admin/v1/keystore
レスポンス本文
リクエストまたはレスポンス本文のメディア・タイプ: application/json
レスポンス本文には、別名のリストが含まれます。
属性 | 説明 |
---|---|
|
別名のカンマ区切りのリスト。 |
cURLの例
次の例は、cURLを使用してRESTリソースにGETリクエストを発行してJKSキーストアの信頼できる証明書エントリのすべての別名を参照する方法を示しています。
curl -i -X GET -u username:password http://myhost:7001/idaas/platform/admin/v1/keystore
レスポンス・ヘッダーの例
次にレスポンス・ヘッダーの例を示します。HTTPステータス・コードの詳細は、「HTTPメソッドのHTTPステータス・コード」を参照してください。
HTTP/1.1 200 OK
レスポンス本文の例
次にJSON形式のレスポンス本文の例を示します。
テスト済
{ "aliases":"oratest,orakey,testkey,jkstest,ms-oauthkey" }
4.3 JKSキーストアの信頼できる証明書の特定の別名のPOSTメソッド
このPOSTメソッドは、指定した別名で信頼できる証明書をJKSキーストアにインポートするために使用します。証明書はBase64でエンコードされている必要があります。
RESTリクエスト
POST /idaas/platform/admin/v1/keystore/{alias}
パラメータ
次の表は、POSTリクエストのパラメータの概要を示します。
名前 | 説明 | タイプ |
---|---|---|
|
インポートする信頼できる証明書の別名。 別名は作成されます。JKSキーストアにすでに存在する別名を使用することはできません。そうでない場合、リクエストは失敗します。 |
パス |
リクエスト本文
リクエスト本文のメディア・タイプ: application/json
リクエスト本文には、インポート・リクエストの詳細が含まれます。
属性 | 説明 |
---|---|
|
Base64でエンコードされた証明書。 |
|
証明書のインポート先コンポーネント。この値は |
レスポンス本文
レスポンス本文のメディア・タイプ: application/json
返されるレスポンス本文には、インポート操作に関する次のようなステータスが含まれます。
属性 | 説明 |
---|---|
|
|
|
|
|
操作のステータス。たとえば、 |
|
インポートされたサブジェクトDNのリスト。 |
cURLの例
次の例は、cURLを使用してRESTリソースにPOSTリクエストを発行してJKSキーストアに信頼できる証明書をインポートする方法を示しています。
テスト済
curl -i -X POST -u username:password --data @importjkscert.json -H Content-Type:application/json http://myhost:7001/idaas/platform/admin/v1/keystore/mytestkey
リクエスト本文の例
次にJSON形式のリクエスト本文の例を示します。
{ "component":"JKS", "certificate": "Bese64-encoded certificate" }
レスポンス・ヘッダーの例
次にレスポンス・ヘッダーの例を示します。HTTPステータス・コードの詳細は、「HTTPメソッドのHTTPステータス・コード」を参照してください。
HTTP/1.1 200 OK
レスポンス本文の例
次にJSON形式のレスポンス本文の例を示します。
{ "STATUS": "Succeeded", "SUBJECT_DN": "CN=y,OU=y,O=y,L=y,ST=y,C=y" }
4.4 JKSキーストアのPKCS#7の信頼できる証明書のPOSTメソッド
このPOSTメソッドは、指定した別名で示される秘密キーに関連付けられたPKCS#7の信頼できる証明書または証明書チェーンをJKSキーストアにインポートするために使用します。
RESTリクエスト
POST /idaas/platform/admin/v1/keystore/pkcs7/{alias}
パラメータ
次の表は、POSTリクエストのパラメータの概要を示します。
名前 | 説明 | タイプ |
---|---|---|
|
インポートする信頼できるPKCS#7証明書の秘密キーの別名。別名は、JKSキーストアにすでに存在する必要があります。 |
パス |
リクエスト本文
リクエスト本文のメディア・タイプ: application/json
リクエスト本文には、インポート・リクエストの詳細が含まれます。
属性 | 説明 |
---|---|
|
Base64でエンコードされた証明書。 |
|
証明書のインポート先コンポーネント。この値は |
|
秘密キーのパスワード。 |
レスポンス本文
レスポンス本文のメディア・タイプ: application/json
返されるレスポンス本文には、インポート操作に関する次のようなステータスが含まれます。
属性 | 説明 |
---|---|
|
|
|
|
|
操作のステータス。たとえば、 |
|
インポートされたサブジェクトDNのリスト。 |
cURLの例
次の例は、cURLを使用してRESTリソースにPOSTリクエストを発行してJKSキーストアに信頼できるPKCS#7証明書をインポートする方法を示しています。
curl -i -X POST -u username:password --data @importjkscert.json -H Content-Type:application/json http://myhost:7001/idaas/platform/admin/v1/keystore/pkcs7/myprivatekey
リクエスト本文の例
次にJSON形式のリクエスト本文の例を示します。
{
"component":"JKS",
"certificate": "Bese64-encoded certificate",
"keyPassword" : "Password"
}
レスポンス・ヘッダーの例
次にレスポンス・ヘッダーの例を示します。HTTPステータス・コードの詳細は、「HTTPメソッドのHTTPステータス・コード」を参照してください。
HTTP/1.1 200 OK
レスポンス本文の例
次にJSON形式のレスポンス本文の例を示します。
{ "STATUS": "Succeeded", "SUBJECT_DN": "CN=y,OU=y,O=y,L=y,ST=y,C=y" }
4.5 JKSキーストアの信頼できる証明書の指定した別名のGETメソッド
このGETメソッドは、指定した別名でJKSキーストア内の信頼できる証明書の詳細を参照するために使用します。
別名がkeyStore.TrustedCertificateEntry
の場合、信頼できる証明書の詳細が返されます。別名がKeyStore.PrivateKeyEntry
の場合、信頼できる証明書チェーンの最初の証明書が返されます。
RESTリクエスト
GET /idaas/platform/admin/v1/keystore/{alias}
パラメータ
次の表は、GETリクエストのパラメータの概要を示します。
名前 | 説明 | タイプ |
---|---|---|
|
参照する信頼できる証明書の別名。 |
パス |
レスポンス本文
リクエストまたはレスポンス本文のメディア・タイプ: application/json
レスポンス本文には、証明書に関する次のような情報が含まれます。
属性 | 説明 |
---|---|
|
Base64でエンコードされた証明書の内容。 |
|
特定目的の証明書の発行に使用されるオプションの拡張機能。拡張には次が含まれます。
|
|
信頼できる識別名のリスト。 |
|
証明書が期限切れになる日付。 |
|
証明書が有効になる日付。 |
|
JKSキーストアのシリアル番号。 |
|
Base64でエンコードされた署名キー。 |
|
別名の署名アルゴリズム。 |
|
サブジェクト識別名のリスト。 |
cURLの例
次の例は、cURLを使用してRESTリソースにGETリクエストを発行して、JKSキーストア内の別名のすべての証明書を参照する方法を示しています。
テスト済
curl -i -X GET -u username:password http://myhost:7001/idaas/platform/admin/v1/keystore/mytestkey
レスポンス・ヘッダーの例
次にレスポンス・ヘッダーの例を示します。HTTPステータス・コードの詳細は、「HTTPメソッドのHTTPステータス・コード」を参照してください。
HTTP/1.1 200 OK
レスポンス本文の例
次にJSON形式のレスポンス本文の例を示します。
{ "SUBJECT_DN":"CN=weblogic,OU=Testkey for JKS Mbean test,O=Oracle,L=testcity,ST=teststate,C=us", "ISSUER_DN":"CN=weblogic,OU=Testkey for JKS Mbean test,O=Oracle,L=testcity,ST=teststate,C=us", "NOT_BEFORE":"Tue Jun 25 02:20:38 PDT 2013", "NOT_AFTER":"Wed Nov 27 01:20:38 PST 2052", "SERIAL_NO":"1372152038", "SIGNING_ALGORITHM":"1.2.840.113549.1.1.5", "CONTENT":"-----BEGIN CERTIFICATE-----\n Bese64-encoded certificate\n -----END CERTIFICATE-----", "SIGNATURE":"Bese64-encoded signature key", "Extensions":"{subjectKeyIDExtension {oid = 2.5.29.14 critical = false, value = 329b98f6b6225e92ca52513d3bfc43ee02aa9121}}" }
4.6 JKSキーストアの信頼できる証明書のDELETEメソッド
このDeleteメソッドは、指定した別名を持つ信頼できる証明書(keyStore.TrustedCertificateEntry
)をJKSキーストアから削除するために使用します。keyStore.PrivateKeyEntry
を削除することはできません。
RESTリクエスト
DELETE /idaas/platform/admin/v1/keystore/{alias}
パラメータ
次の表は、DELETEリクエストのパラメータの概要を示します。
名前 | 説明 | タイプ |
---|---|---|
|
削除する信頼できる証明書エントリの別名。 |
パス |
レスポンス本文
リクエストまたはレスポンス本文のメディア・タイプ: application/json
返されるレスポンス本文には、削除操作に関する次のようなステータスが含まれます。
属性 | 説明 |
---|---|
|
|
|
|
|
操作のステータス。たとえば、 |
cURLの例
次の例は、cURLを使用してRESTリソースにDELETEリクエストを発行してキーストアから信頼できる証明書を削除する方法を示しています。
テスト済
curl -i -X DELETE -u username:password http://myhost:7001/idaas/platform/admin/v1/keystore/testalias
レスポンス・ヘッダーの例
次にレスポンス・ヘッダーの例を示します。HTTPステータス・コードの詳細は、「HTTPメソッドのHTTPステータス・コード」を参照してください。
HTTP/1.1 200 OK
レスポンス本文の例
次にJSON形式のレスポンス本文の例を示します。
{ "STATUS": "Succeeded" }