web-dev-qa-db-ja.com

ウォレットを作成するためのOracle MKSTOREユーティリティに関する情報

ウォレットの作成と変更に使用できるユーティリティMKSTOREの詳細を探しています。 -createALOオプションとは何か、-createSSOとCreateLSSOの違いは何ですか?情報へのリンクは、MOS上のドキュメント番号で結構です。私の目標は、ウォレットの作成をスクリプト化することであり、これらのオプションが何らかの形で私に役立つかどうか疑問に思っています。

2
Leigh Riffel

Oracle Walletに関する一般的な情報は Advanced Security Guide にあります。

これはリンクです 一般的なorapkiツールを使用してコマンドラインからウォレットを管理する。

これはリンクです 資格情報ストレージに固有のMKSTOREコマンドを使用してウォレットを管理します。

*追加

asktomの手順に関するいくつかのQ&Aを示します 。また、長さが4、8、または12バイトの接続識別子の使用に影響する可能性のあるOr​​acleバグ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

3
REW

この質問の私の目標は、mkstoreをスクリプト化する方法を決定することでした。これが、Powershellを使用して思いついた方法です。要件は次のとおりです。

  1. PowerShellがインストールされています。
  2. スクリプトが有効になっています(Set-ExecutionPolicy RemoteSigned 管理者として実行)。
  3. スクリプトはc:\ Oracle\WalletCreatorにあります。
  4. Windows Automation Snapin for PowerShell のWasp.dllは、スクリプトフォルダーにあります。

ウォレットは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 "")
3
Leigh Riffel