Информация о утилите Oracle Mkstore для создания кошелька
Вопрос
Я ищу дополнительную информацию об утилите Mkstore, которая может быть использована для создания и изменения кошелька. Я хотел бы знать, что такое вариант -CreateAlo, и какова разница между -createsso и creatersso. Ссылка на информацию будет в порядке или номером документа на MOS. Моя цель состоит в том, чтобы скрепить создание кошелька и мне интересно, могут ли эти варианты помочь мне каким -либо образом.
Решение
Общая информация о Oracle Wallet находится в Расширенное руководство по безопасности.
Это ссылка управлять кошельками из командной строки, используя общий инструмент Orapki.
Это ссылка управлять кошельками, используя команду MKStore, специфичную для хранения учетных данных.
*добавлять
Вот несколько вопросов и ответов на шагах на Asktom. Анкет Он также отмечает ошибку Oracle 4395883, который может повлиять на использование идентификаторов Connect 4, 8 или 12 байтов в длину.
Вот запись в блоге Он содержит сценарий для быстрого создания записей кошелька. Еще одна запись в этом блоге О ошибке выше.
Еще одна запись в блоге обо всем процессе.
-createsso означает Autologin (AKA не требуется пароль)
-createlsso eady -auto_login_local (требуются совпадения имени хоста, где был создан кошелек)
-createAlo eange -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 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 "")