题
我正在寻找有关实用程序MKStore的更多信息,可用于创建和修改钱包。我想知道 - createalo选项是什么,以及-createsso和createlsso之间的区别。信息的链接将是可以的,或者是MOS上的文档编号。我的目标是脚本脚本《钱包创作》,并想知道这些选项是否可以以任何方式帮助我。
解决方案
关于Oracle钱包的一般信息在 高级安全指南.
这是链接 使用通用Orapki工具从命令行管理钱包。
这是链接 使用特定于凭据存储的MKStore命令管理钱包。
*添加
这是Asktom上的一些问答. 。他还指出了一个Oracle Bug 4395883,它可以使用连接标识符4、8或12个字节长度影响。
这是博客条目 其中包含一个用于快速创建钱包条目的脚本。 该博客上的另一个条目 关于上面的错误。
另一个博客条目 关于整个过程。
-Createsso是指Autologin(又称不需要密码)
-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提出的方法。这是要求:
- PowerShell已安装。
- 启用了脚本(
Set-ExecutionPolicy RemoteSigned
以管理员身份运行)。 - 该脚本在C: Oracle WalletCreator中。
- WASP.DLL来自 Windows Automation Snapin用于PowerShell 位于脚本文件夹中。
钱包将在C: oracle 钱包中创建。这是脚本。
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 "")