ウォレットを作成するためのOracle MKSTOREユーティリティに関する情報
質問
ウォレットの作成と変更に使用できるユーティリティ MKSTORE についての詳細情報を探しています。-createALO オプションとは何なのか、-createSSO と CreateLSSO の違いは何なのかなどを知りたいです。情報へのリンクでも、MOS 上の文書番号でも構いません。私の目標はウォレット作成のスクリプトを作成することであり、これらのオプションが何らかの形で役立つかどうか疑問に思っています。
解決
Oracle Wallet に関する一般情報は、 高度なセキュリティ ガイド.
これがリンクです 一般的な orapki ツールを使用してコマンドラインからウォレットを管理することもできます。
これがリンクです 資格証明ストレージに固有の MKSTORE コマンドを使用してウォレットを管理します。
*追加
asktom の手順に関する q&a は次のとおりです。. 。また、長さ 4、8、または 12 バイトの接続識別子の使用に影響を与える可能性がある Oracle のバグ 4395883 についても言及しています。
ブログエントリーはこちら これには、ウォレット エントリを迅速に作成するためのスクリプトが含まれています。 そのブログの別のエントリ 上記のバグについて。
別のブログエントリ プロセス全体について。
-createSSO は自動ログイン (パスワード不要) を意味します。
-createLSSO は、-auto_login_local (ウォレットが作成された場所とホスト名が一致する必要があります) を意味します。
-createALO は、-auto_login_only を意味します (ウォレットが作成されたホスト名とユーザーが一致する必要があります)
これは mkstore では文書化されていないようですが、コンパニオン ユーティリティである orapki では文書化されています。auto_login_local セキュリティ機能はなりすましの可能性があり、追加の保護はほとんど提供されないことに注意してください。Web を検索すると、auto_login_local が効果がない理由の詳細を見つけることができます。
https://docs.oracle.com/cd/E11882_01/network.112/e40393/asoappf.htm#ASOAG9833
他のヒント
この質問での私の目標は、Mkstoreをどのようにスクリプト化できるかを決定することでした。 PowerShellを使用したことを思いついた方法は次のとおりです。ここに要件があります:
- PowerShellがインストールされています。
- スクリプトが有効になっています(
Set-ExecutionPolicy RemoteSigned
管理者として実行)。 - スクリプトはc: oracle walletcreatorにあります。
- wasp.dllから PowerShell用のWindows Automation Snapin スクリプトフォルダーにあります。
ウォレットはC: Oracle Walletsで作成されます。これがスクリプトです。
Import-Module c:\oracle\WalletCreator\WASP.dll
$WalletCreated = 0
cls
Write-Host " " -foregroundcolor White -backgroundcolor DarkRed
Write-Host " Warning: This script will delete your current wallet. " -foregroundcolor White -backgroundcolor DarkRed
Write-Host " " -foregroundcolor White -backgroundcolor DarkRed
do {
#Get credentials
Write-Host " "
Write-Host " New Wallet Entry " -foregroundcolor White -backgroundcolor DarkGreen
Write-Host " To exit press return without entering anything. " -foregroundcolor White -backgroundcolor DarkGreen
$DB = Read-Host "Connection Name"
if ($DB -eq "") {
Return
}
$Username = Read-Host " Username"
if ($Username -eq "") {
Return
}
$Password = Read-Host -AsSecureString " Password"
#Convert from SecureString to String.
$BasicString = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password)
$Password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BasicString)
if ($Password -eq "") {
Return
}
if ($WalletCreated -eq 0) {
#Create folder in case it doesn't exist.
md c:\oracle\Wallets -Force | Out-Null
#Delete any wallet in the folder now.
del c:\oracle\Wallets\*.* | Out-Null
#Get GUID for wallet password.
$WalletPassword = [guid]::NewGuid().toString()
$WalletPassword = $WalletPassword + "`r"
#Create Wallet.
Start-Process -FilePath mkstore -ArgumentList "-wrl c:\oracle\Wallets\ -create"
Start-Sleep -Milliseconds 500
Select-Window -ProcessName cmd | Select -First 1 | Send-Keys -keys $WalletPassword
Start-Sleep -Milliseconds 300
Select-Window -ProcessName cmd | Select -First 1 | Send-Keys -keys $WalletPassword
$WalletCreated = 1
Start-Sleep -Milliseconds 1000
}
#Create Credential.
$CC = "-wrl c:\oracle\Wallets\ -createCredential " + $DB + " "
$CC = $CC + $Username + " " + $Password
Start-Process -FilePath mkstore -ArgumentList $CC
Start-Sleep -Milliseconds 300
Select-Window -ProcessName cmd | Select -First 1 | Send-Keys -keys $WalletPassword
Start-Sleep -Milliseconds 1000
}
until ($DB -eq "")