Leigh Riffel Asked: 2011-01-11 11:27:31 +0800 CST2011-01-11 11:27:31 +0800 CST 2011-01-11 11:27:31 +0800 CST 有关用于创建钱包的 Oracle MKSTORE 实用程序的信息 772 我正在寻找有关可用于创建和修改钱包的实用程序 MKSTORE 的更多信息。我想知道 -createALO 选项是什么以及 -createSSO 和 CreateLSSO 之间的区别。可以提供信息链接或 MOS 上的文档编号。我的目标是编写钱包创建脚本,我想知道这些选项是否能以任何方式帮助我。 oracle wallet 2 个回答 Voted Best Answer REW 2011-01-11T20:51:55+08:002011-01-11T20:51:55+08:00 关于 Oracle Wallet 的一般信息在Advanced Security Guide中。 这是使用通用 orapki 工具从命令行管理钱包的链接。 这是使用特定于凭证存储的 MKSTORE 命令管理钱包的链接。 *添加 这是关于 asktom 步骤的一些问答。他还指出了一个 Oracle 错误 4395883,它可能会影响使用长度为 4、8 或 12 个字节的连接标识符。 这是一个博客条目,其中包含用于快速创建钱包条目的脚本。该博客上关于上述错误的另一个条目。 关于整个过程的另一个博客条目。 -createSSO 表示自动登录(也就是不需要密码) -createLSSO 表示 -auto_login_local(要求主机名与创建钱包的位置匹配) -createALO 表示 -auto_login_only (要求主机名和钱包创建于/下的用户匹配) 这似乎没有记录在 mkstore 下,但记录在 orapki 下,它是一个配套实用程序。注意 auto_login_local 安全功能可以被欺骗并且提供很少的额外保护。搜索网络,您可以找到有关 auto_login_local 为什么无效的更多详细信息。 https://docs.oracle.com/cd/E11882_01/network.112/e40393/asoappf.htm#ASOAG9833 Leigh Riffel 2011-02-05T14:01:10+08:002011-02-05T14:01:10+08:00 我对这个问题的目标是确定如何编写 mkstore 脚本。这是我使用 Powershell 提出的方法。以下是要求: 已安装 PowerShell。 脚本已启用(Set-ExecutionPolicy RemoteSigned以管理员身份运行)。 该脚本位于 c:\oracle\WalletCreator 中。 PowerShell 的Windows 自动化管理单元中的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 "")
关于 Oracle Wallet 的一般信息在Advanced Security Guide中。
这是使用通用 orapki 工具从命令行管理钱包的链接。
这是使用特定于凭证存储的 MKSTORE 命令管理钱包的链接。
*添加
这是关于 asktom 步骤的一些问答。他还指出了一个 Oracle 错误 4395883,它可能会影响使用长度为 4、8 或 12 个字节的连接标识符。
这是一个博客条目,其中包含用于快速创建钱包条目的脚本。该博客上关于上述错误的另一个条目。
关于整个过程的另一个博客条目。
-createSSO 表示自动登录(也就是不需要密码)
-createLSSO 表示 -auto_login_local(要求主机名与创建钱包的位置匹配)
-createALO 表示 -auto_login_only (要求主机名和钱包创建于/下的用户匹配)
这似乎没有记录在 mkstore 下,但记录在 orapki 下,它是一个配套实用程序。注意 auto_login_local 安全功能可以被欺骗并且提供很少的额外保护。搜索网络,您可以找到有关 auto_login_local 为什么无效的更多详细信息。
https://docs.oracle.com/cd/E11882_01/network.112/e40393/asoappf.htm#ASOAG9833
我对这个问题的目标是确定如何编写 mkstore 脚本。这是我使用 Powershell 提出的方法。以下是要求:
Set-ExecutionPolicy RemoteSigned
以管理员身份运行)。钱包将在 c:\oracle\Wallets 中创建。这是脚本。