4 OPSSキーストア・サービス・コマンド

この章では、OPSSキーストア・サービスで使用されるWLSTコマンドについて説明します。

ノート:

キーストア・サービスのコマンドを使用するには、OPSSハンドルを取得する必要があります。以降の説明では、このハンドルをsvcと表記します。『Oracle Platform Security Servicesによるアプリケーションの保護』キーと証明書の管理に関する項を参照してください。

表4-1では、キーストア・サービスを管理するために使用されるWLSTコマンドを示します。

表4-1 OPSSキーストア・サービス・コマンド

このコマンドを使用します... 目的... 使用するWLST...

changeKeyPassword

キーのパスワードを変更します。

オンライン

changeKeyStorePassword

キーストアのパスワードを変更します。

オンライン

createKeyStore

キーストアを作成します。

オンライン

deleteKeyStore

キーストアを削除します。

オンライン

deleteKeyStoreEntry

キーストア内のエントリを削除します。

オンライン

exportKeyStore

キーストアをファイルにエクスポートします。

オンライン

exportKeyStoreCertificate

証明書をファイルにエクスポートします。

オンライン

exportKeyStoreCertificateRequest

証明書リクエストをファイルにエクスポートします。

オンライン

generateKeyPair

キー・ペアを生成します。

オンライン

generateSecretKey

秘密キーを生成します。

オンライン

getKeyStoreCertificates

証明書または信頼できる証明書に関する情報を取得します。

オンライン

getKeyStoreSecretKeyProperties

秘密キープロパティを取得します。

オンライン

importKeyStore

ファイルからキーストアをインポートします。

オンライン

importKeyStoreCertificate

証明書または他のオブジェクトをインポートします。

オンライン

listExpiringCertificates

指定された期間内に期限切れとなる証明書を一覧表示します。

オンライン

listKeyStoreAliases

キーストア内の別名を一覧表示します。

オンライン

listKeyStores

ストライプ内のすべてのキーストアを一覧表示します。

オンライン

syncKeyStores

管理サーバーのキーストアをセキュリティ・ストアのキーストアと同期します。

オンライン

changeKeyPassword

キーのパスワードを変更します。

説明

キーのパスワードを変更します。

構文

svc.changeKeyPassword(appStripe='stripe', name='keystore', password='password', 
alias='alias', currentkeypassword='currentkeypassword', 
newkeypassword='newkeypassword')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアを含むストライプの名前を指定します

name

キーストアの名前を指定します

password

キーストアのパスワードを指定します

alias

パスワードを変更するキー・エントリの別名を指定します

currentkeypassword

キーの現在のパスワードを指定します

newkeypassword

キーの新しいパスワードを指定します

次の例は、キー・エントリorakeyのパスワードを変更します。

wls:/mydomain/serverConfig> svc.changeKeyPassword(appStripe='system', 
name='keystore', password='password', 
alias='orakey', currentkeypassword='currentkeypassword', 
newkeypassword='newkeypassword')

changeKeyStorePassword

キーストアのパスワードを変更します。

説明

指定されたキーストアのパスワードを変更します。

構文

svc.changeKeyStorePassword(appStripe='stripe', name='keystore', currentpassword='currentpassword', newpassword='newpassword')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアを含むストライプの名前を指定します

name

キーストアの名前を指定します

currentpassword

キーストアの現在のパスワードを指定します

newpassword

キーストアの新しいパスワードを指定します

次の例は、keystore2のパスワードを変更します。

wls:/mydomain/serverConfig> svc.changeKeyStorePassword(appStripe='system', name='keystore2', 
currentpassword='currentpassword', newpassword='newpassword')

createKeyStore

このキーストア・サービス・コマンドは、新しいキーストアを作成します。

説明

指定されたアプリケーション・ストライプに新しいキーストアを作成します。

構文

svc.createKeyStore(appStripe='stripe', name='keystore', password='password',permission=true|false)
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが作成されるストライプの名前を指定します。

name

新しいキーストアの名前を指定します。

password

キーストアのパスワードを指定します。

permission

キーストアがパーミッションによってのみ保護される場合、このパラメータはtrueです。パーミッションとパスワードの両方によって保護される場合はfalseです。

次の例は、keystore1という名前のキーストアを作成します。

wls:/mydomain/serverConfig> svc.createKeyStore(appStripe='system', 
name='keystore1', password='password', permission=true)

deleteKeyStore

指定されたキーストアを削除します。

説明

このキーストア・サービス・コマンドは、指定されたキーストアを削除します。

構文

svc.deleteKeyStore(appStripe='stripe', name='keystore', password='password')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

削除するキーストアの名前を指定します。

password

キーストアのパスワードを指定します。

次の例は、keystore1という名前のキーストアを削除します。

wls:/mydomain/serverConfig> svc.deleteKeyStore(appStripe='system', name='keystore1', password='password')

deleteKeyStoreEntry

キーストア・エントリを削除します。

説明

このコマンドは、キーストア内の指定されたエントリを削除します。

構文

svc.deleteKeyStoreEntry(appStripe='stripe', name='keystore', 
password='password', alias='alias', keypassword='keypassword')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

alias

削除するエントリの別名を指定します

keypassword

削除するエントリのキー・パスワードを指定します

次の例は、別名orakeyで表されるキーストア・エントリを削除します。

wls:/mydomain/serverConfig> svc.deleteKeyStoreEntry(appStripe='system', name='keystore2', password='password', alias='orakey', keypassword='keypassword')

exportKeyStore

キーストアをファイルにエクスポートします。

説明

指定されたファイルにキーストアをエクスポートします。

構文

svc.exportKeyStore(appStripe='stripe', name='keystore', password='password', aliases='comma-separated-aliases', keypasswords='comma-separated-keypasswords', 
type='keystore-type', filepath='absolute_file_path')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。また、この値は、コマンドの現在の使用方法に基づいて出力ファイルに適用されます。

  • すべてのタイプのパスワード保護されたキーストアの場合、出力ファイルのパスワードになります。

  • タイプがJKSまたはJCEKSの権限保護されたキーストアの場合、出力ファイルのパスワードになります。

  • タイプがOracleWalletの権限保護されたキーストアの場合、パスワード値が空でなければ、出力ファイルのパスワードになります。空値を指定すると自動ログイン・ウォレットが作成されます。

キーストアがパスワードベースの場合、この引数の値は、パスワードベースのキーストアが作成されたときに指定したパスワードと同じである必要があります。そうでない場合、キーストアがパスワードベースでなければ、任意の値が有効です。

aliases

エクスポートする別名のカンマ区切りリストを指定します。

keypasswords

エクスポートするキーのパスワードを指定します。使用方法は、キーストア・タイプによって決まります。

  • タイプがJKSまたはJCEKSで、キーストアが権限保護されている場合、出力ファイル内の別名に対応するキー・パスワードのカンマ区切りのリストです。

  • タイプがJKSまたはJCEKSで、キーストアがパスワード保護されている場合、ソース・キーストア内と出力ファイル内の両方の別名に対応するキー・パスワードのカンマ区切りのリストです。

  • タイプがOracleWalletの場合、このパラメータは無視されます。

type

エクスポートされるキーストアのタイプ。有効な値は、JKS、JCEKS、OracleWalletです。

filepath

タイプがJKSまたはJCEKSの場合、キーストアがエクスポートされるファイルの絶対パス(ファイル名を含む)です。タイプがOracleWalletの場合、キーストアがエクスポートされるディレクトリの絶対パスです。

次の例では、指定されたキーストアから2つの別名をエクスポートします。

wls:/mydomain/serverConfig> svc.exportKeyStore(appStripe='system', name='keystore2', 
password='password',aliases='orakey,seckey', 
keypasswords='keypassword1,keypassword2', 
type='JKS',filepath='/tmp/file.jks')

次の例は、キーストアをエクスポートしてOracleウォレット・ファイルを作成します。

wls:/mydomain/serverConfig> svc.exportKeyStore(appStripe='system', name='keystore2', 
password='password',aliases='orakey,seckey', 
keypasswords='', type='OracleWallet',filepath='/tmp')

exportKeyStoreCertificate

証明書をエクスポートします。

説明

証明書、信頼できる証明書または証明書チェーンをエクスポートします。

構文

svc.exportKeyStoreCertificate(appStripe='stripe', name='keystore', 
password='password', alias='alias', keypassword='keypassword', 
type='entrytype',filepath='absolute_file_path')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

alias

エクスポートするエントリの別名を指定します

keypassword

キー・パスワードを指定します。

type

エクスポートするキーストア・エントリのタイプを指定します。有効な値は、Certificate、TrustedCertificateまたはCertificateChainです。

filepath

証明書、信頼できる証明書または証明書チェーンのエクスポート先となるファイルの絶対パスを指定します。

次の例は、別名orakeyに対応する証明書をエクスポートします。

wls:/mydomain/serverConfig> svc.exportKeyStoreCertificate(appStripe='system', name='keystore2', 
password='password', alias='orakey', keypassword='keypassword', 
type='Certificate', filepath='/tmp/cert.txt')

exportKeyStoreCertificateRequest

証明書リクエストをエクスポートします。

説明

証明書リクエストを生成し、キーストアからエクスポートします。

構文

svc.exportKeyStoreCertificateRequest(appStripe='stripe', name='keystore', 
password='password', alias='alias', keypassword='keypassword', 
filepath='absolute_file_path')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

alias

エントリの別名を指定します。

keypassword

キー・パスワードを指定します。

filepath

証明書リクエストのエクスポート先となるファイルの絶対パスを指定します。

次の例は、別名orakeyに対応する証明書リクエストをエクスポートします。

wls:/mydomain/serverConfig> svc.exportKeyStoreCertificateRequest(appStripe='system', name='keystore2', 
password='password', alias='orakey', keypassword='keypassword', 
filepath='/tmp/certreq.txt')

generateKeyPair

キーストアにキー・ペアを生成します。

説明

指定されたアルゴリズムを使用してキー・ペアを生成し、それをデモCA署名付き証明書にラップします。

構文

svc.generateKeyPair(appStripe='stripe', name='keystore', password='password', 
dn='distinguishedname', keysize='keysize', alias='alias', 
keypassword='keypassword'[, algorithm='algorithm'][,ext_san='ext_san'])
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

ext_san

サブジェクト代替名(SAN)拡張を指定します。引数の書式は、 "type:value,...,type:value"です。DNSタイプのみがサポートされます。

dn

キー・ペアをラップする証明書の識別名を指定します。

keysize

キー・サイズを指定します。

alias

キー・ペア・エントリの別名を指定します。

keypassword

キー・パスワードを指定します。

algorithm

生成されたキーを暗号化するために使用するアルゴリズムを指定します。有効な値はRSAまたはEC (Elliptic Curve Cryptography)のみです。オプション。指定しないと、コマンドではRSAアルゴリズムが使用されます。

次の例は、デフォルトのRSAアルゴリズムを使用してkeystore2にキー・ペアを生成します。

wls:/mydomain/serverConfig> svc.generateKeyPair(appStripe='system', name='keystore2', password='password', dn='cn=www.oracle.com', keysize='1024', alias='orakey', keypassword='keypassword')

次の例は、RSAアルゴリズムを使用してkeystore2にキー・ペアを生成します。

wls:/mydomain/serverConfig> svc.generateKeyPair(appStripe='system', name='keystore2', password='password', dn='cn=www.oracle.com', keysize='1024', alias='orakey', keypassword='keypassword', algorithm='RSA')

次の例は、ECC (Elliptic Curve Cryptography)アルゴリズムを使用してkeystore2にキー・ペアを生成します。

wls:/mydomain/serverConfig> svc.generateKeyPair(appStripe='system', name='keystore2', password='password', dn='cn=www.oracle.com', keysize='1024', alias='orakey', keypassword='keypassword', algorithm='EC')

次の例は、デフォルトのRSAアルゴリズムを使用してkeystore2にSANを使用したキー・ペアを生成します。

svc.generateKeyPair(appStripe='system', name='keystore2', password='<password>', dn='cn=www.oracle.com', keysize='2048', alias='orakey', keypassword='<keypassword>', ext_san='DNS:server1.oracle.com,DNS:www.oracle.com')

generateSecretKey

秘密キーを生成します。このコマンドは対称キーのみを作成します。公開キーと秘密キーのペアではありません。対称キーを作成した後にプロパティを表示するには、getKeyStoreSecretKeyPropertiesを使用します。

説明

キーストアに対称キーを生成します。

構文

svc.generateSecretKey(appStripe='stripe', name='keystore', password='password', 
algorithm='algorithm', keysize='keysize', alias='alias', 
keypassword='keypassword')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

algorithm

対称キーのアルゴリズムを指定します。

keysize

キー・サイズを指定します。

alias

キー・エントリの別名を指定します。

keypassword

キー・パスワードを指定します。

次の例は、keystore2にキー・サイズ128のキー・ペアを生成します。

wls:/mydomain/serverConfig> svc.generateSecretKey(appStripe='system', name='keystore2', password='password', 
algorithm='AES', keysize='128', alias='seckey', keypassword='keypassword')

getKeyStoreCertificates

キーストアから証明書を取得します。このコマンドは、キーストア(サポートされるキーストアのタイプはJKSまたはJCEKSです)からインポートしたか、generateKeyPairコマンドを使用して作成した公開キーとX509証明書の内容を表示するために使用します。

説明

証明書または信頼できる証明書に関する情報を取得します。

構文

svc.getKeyStoreCertificates(appStripe='stripe', name='keystore', 
password='password', alias='alias', keypassword='keypassword')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

alias

表示する証明書、信頼できる証明書または証明書チェーンの別名を指定します。

keypassword

キー・パスワードを指定します。

次の例は、keystore3に関連付けられている証明書を取得します。

wls:/mydomain/serverConfig> svc.getKeyStoreCertificates(appStripe='system', name='keystore3', password='password', alias='orakey', keypassword='keypassword')

getKeyStoreSecretKeyProperties

秘密キーのプロパティを取得します。

説明

アルゴリズムなどの秘密キーのプロパティを取得します。

構文

svc.getKeyStoreSecretKeyProperties(appStripe='stripe', name='keystore', 
password='password', alias='alias', keypassword='keypassword')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

alias

プロパティを表示する秘密キーの別名を指定します。

keypassword

秘密キーのパスワードを指定します。

次の例は、秘密キーseckeyのプロパティを取得します。

wls:/mydomain/serverConfig> svc.getKeyStoreSecretKeyProperties(appStripe='system', name='keystore3', 
password='password', alias='seckey', keypassword='keypassword')

importKeyStore

ファイルからキーストアをインポートします。このコマンドは、任意の公開キー、秘密キー、対称キーおよび信頼できる証明書をキーストア・ファイルからOPSSキーストア・サービス・キーストアにインポートします。

説明

システム・ファイルからキーストアをインポートします。

構文

svc.importKeyStore(appStripe='stripe', name='keystore', password='password', aliases='comma-separated-aliases', keypasswords='comma-separated-keypasswords', 
type='keystore-type', permission=true|false, filepath='absolute_file_path')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが配置されるストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。次のルールが適用されます。

  • 自動ログインOracleウォレット・ファイルのインポートの場合、パスワードは不要です。

  • パスワード保護されたOracleウォレット・ファイル(ewallet.p12)のインポートの場合、8文字以上のパスワードを入力します。

aliases  

ファイルからインポートするエントリの別名をカンマで区切って指定します。タイプがOracleWalletに設定されている場合、必須ではありません。それ以外は必須の引数です。

keypasswords  

ファイル内のキーのパスワードを指定します。次のルールが適用されます。

  • タイプがJKSまたはJCEKSの場合、キーのパスワードをカンマで区切って入力します。

  • タイプがOracleWalletの場合、パスワードは不要です。キー・パスワードは、キーストア・パスワードと同じになります。

type  

インポートされるキーストアのタイプを指定します。有効な値は、JKS、JCEKS、OracleWalletです。

filepath 

タイプがJKSまたはJCEKSの場合、インポートされるキーストア・ファイルの絶対パス(ファイル名を含む)を指定します。タイプがOracleWalletに設定されている場合、Oracleウォレットが存在するディレクトリの絶対パスを指定します。

permission 

キーストアがパーミッションによってのみ保護される場合はtrue、パーミッションとパスワードの両方によって保護される場合はfalseを指定します。trueに設定されると、インポートされるファイルの権限は保護されるので、getKeyStoreまたはgetKeyを呼び出すとパスワードはnullに設定されます。

次の例は、JKSキーストア・ファイルをkeystore2にインポートします。

wls:/mydomain/serverConfig> svc.importKeyStore(appStripe='system', name='keystore2', 
password='password',aliases='orakey,seckey', keypasswords='keypassword1, 
keypassword2', type='JKS', permission=true, filepath='/tmp/file.jks')

次の例は、Oracleウォレットをkeystore2にインポートします。

svc.importKeyStore(appStripe='system', name='keystore2', 
password='password',aliases='orakey,seckey', keypasswords='', type='OracleWallet', permission=true, filepath='/tmp')

importKeyStoreCertificate

証明書または指定された他のオブジェクトをインポートします。

説明

証明書、信頼できる証明書または証明書チェーンをインポートします。

構文

svc.importKeyStoreCertificate(appStripe='stripe', name='keystore', 
password='password', alias='alias', keypassword='keypassword', 
type='entrytype',filepath='absolute_file_path')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

alias  

インポートするエントリの別名を指定します。

keypassword  

新たにインポートされるエントリのキー・パスワードを指定します。

type  

インポートするキーストア・エントリのタイプを指定します。有効な値は、Certificate、TrustedCertificateまたはCertificateChainです。

filepath  

証明書、信頼できる証明書または証明書チェーンのインポート元となるファイルの絶対パスを指定します。

次の例は、keystore2に証明書をインポートします。

wls:/mydomain/serverConfig> svc.importKeyStoreCertificate(appStripe='system', name='keystore2', 
password='password', alias='orakey', keypassword='keypassword', 
type='Certificate', filepath='/tmp/cert.txt')

listExpiringCertificates

期限切れになる証明書を一覧表示します。

説明

期限切れになる証明書を一覧表示し、オプションでそれらの期限を更新します。

構文

svc.listExpiringCertificates(days='days', autorenew=true|false)
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

days  

日数を指定します。リストには、指定された日数内に期限切れとなる証明書のみが含まれます。

autorenew  

期限切れとなる証明書を自動的に更新する場合はtrue、それらを一覧表示するのみの場合はfalseを指定します。

次の例は、1年以内に期限切れとなる証明書を一覧表示し、それらの更新を要求します。

wls:/mydomain/serverConfig> svc.listExpiringCertificates(days='365', autorenew=true)

listKeyStoreAliases

キーストア内の別名を一覧表示します。

説明

キーストア内の、指定されたエントリ・タイプの別名を一覧表示します。

構文

svc.listKeyStoreAliases(appStripe='stripe', name='keystore', 
password='password', type='entrytype')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアが存在するストライプの名前を指定します。

name

キーストアの名前を指定します。

password

キーストアのパスワードを指定します。

type

別名を一覧表示するエントリのタイプを指定します。有効な値は、Certificate、TrustedCertificate、SecretKeyまたは*です。

次の例は、keystore2内の秘密キーを一覧表示します。

wls:/mydomain/serverConfig> svc.listKeyStoreAliases(appStripe='system', name='keystore2', 
password='password', type='SecretKey')

listKeyStores

ストライプ内のすべてのキーストアを一覧表示します。

説明

指定されたストライプ内のすべてのキーストアを一覧表示します。

構文

svc.listKeyStores(appStripe='stripe')
引数 定義
svc

getOpssService()のコールによって取得されるサービス・コマンド・オブジェクトを指定します。

appStripe

キーストアを一覧表示するストライプの名前を指定します。

次の例は、すべてのストライプ上のすべてのキーストアを一覧表示します。

wls:/mydomain/serverConfig> svc.listKeyStores(appStripe='*')

syncKeyStores

OPSSセキュリティ・ストアからローカル・リポジトリにキーストアを同期します。

説明

セキュリティ・ストア内のアプリケーション・ストライプからファイル・システム上の指定したディレクトリに、指定した形式でキーストアをダウンロードします。

ターゲット形式がOracleウォレットの場合、指定されたストライプについて、すべてのKSSキーストアの内容をサーバー上の自動ログイン・ウォレットにダウンロードします。ドメイン・トラスト・ストアの内容は、自動的に各ウォレットに含まれます。

構文

構文は次のとおりです。

syncKeyStores(appStripe='<application_stripe>', keystoreFormat='exported_file_format',
rootDirectory='root_dir_absolute_path')
引数 定義
appStripe

ローカル・リポジトリと同期する必要があるキーストアを含む、KSSアプリケーション・ストライプの名前。

keystoreFormat

ターゲット・キーストアの形式を指定します。有効な形式は、KSSおよびOracleWalletです。

keystoreFormatがOracleWalletの場合、このストライプ内のキーストアは、権限で保護されているもののみである必要があります。Oracleウォレットでは、パスワードで保護されたキーストアは使用できません。

rootDirectory

OracleWallet形式の場合、ウォレットが作成されるサーバー・ディレクトリの絶対パスを指定します。

ノート:

svc引数はこのコマンドには適用されません。

次の例では、セキュリティ・ストアでsystemストライプを検索して、その内容をDOMAIN_HOME/config/fmwconfigディレクトリの下のkeystores.xmlファイルにダウンロードします。

wls:/mydomain/serverConfig> syncKeyStores((appStripe='system', keystoreFormat='KSS')
 

次の例では、ストライプohs内のすべてのキーストアに対応するOracleウォレットを生成します。

syncKeyStores(appStripe="ohs", 
keystoreFormat="OracleWallet", rootDirectory="/tmp/bin")