ウォレットの作成と変更に使用できるユーティリティMKSTOREの詳細を探しています。 -createALOオプションとは何か、-createSSOとCreateLSSOの違いは何ですか?情報へのリンクは、MOS上のドキュメント番号で結構です。私の目標は、ウォレットの作成をスクリプト化することであり、これらのオプションが何らかの形で私に役立つかどうか疑問に思っています。
Oracle Walletに関する一般的な情報は Advanced Security Guide にあります。
これはリンクです 一般的な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#ASOAG98
この質問の私の目標は、mkstoreをスクリプト化する方法を決定することでした。これが、Powershellを使用して思いついた方法です。要件は次のとおりです。
Set-ExecutionPolicy RemoteSigned
管理者として実行)。ウォレットは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 "")