Já faz algum tempo que tenho precisado lidar com wallets no banco de dados sem ter acesso ao SSH. Por isso, para utilizar o mkstore ou orapki localmente, tinha duas opções mais comuns: baixar uma versão do banco de dados e instalar numa VM ou na máquina local ou então baixar e instalar um full client, que para mim, não estava sendo necessário para nenhuma outra atividade além dessa. Eu queria encontrar uma forma mais prática e acessível, em que eu pudesse colocar o orapki no meu Google Drive e utilizar do PC do trabalho, do pc de casa e do laptop.
Depois de alguma pesquisa na web, encontrei esses dois artigos que explicam como utilizar os arquivos .jar do SQLcl para rodar o orapki sem precisar baixar e instalar o client full.
https://ogobrecht.com/posts/2020-07-29-how-to-use-mkstore-and-orapki-with-oracle-instant-client/
Vamos seguir esses passos.
Baixar o SQLcl (a ferramenta mais leve da Oracle que encontrei que possui os .jar do orapki).
Descompactar em alguma pasta da sua preferência
Criar um arquivo orapki.bat, que deve ter o conteúdo abaixo.
@echo off
rem inspiration: https://andriydmytrenko.wordpress.com/2013/07/01/using-the-secure-external-password-store-with-instant-client/
setlocal
rem get the command line arguments
set args=
:loop
if !%1==! goto :done
set args=%args% %1
shift
goto :loop
:done
rem set classpath for orapki - align this to your local SQLcl installation
set sqlcl="G:\Meu Drive\Aplicativos\SQLcl\25.1.0.101.2353\lib"
set classpath=%sqlcl%\oraclepki.jar
set classpath=%classpath%;%sqlcl%\osdt_core.jar
set classpath=%classpath%;%sqlcl%\osdt_cert.jar
rem simulate orapki command
java -classpath %classpath% oracle.security.pki.textui.OraclePKITextUI %args%
endlocal
Substitua a linha set sqlcl="G:\Meu Drive\Aplicativos\SQLcl\25.1.0.101.2353\lib" pelo diretório onde está seu SQLcl.
Pronto! Pode usar o orapki agora sem ter que baixar e instalar o client completo.
Nota: Se quiser user no MacOS ou Linux, pode fazer os arquivos assim:
mkstore:
#!/bin/bash
# set classpath for mkstore - align this to your local SQLcl installation
SQLCL=$(dirname $(which sql))/../lib
CLASSPATH=${SQLCL}/oraclepki.jar:${SQLCL}/osdt_core.jar:${SQLCL}/osdt_cert.jar
# simulate mkstore command
java -classpath ${CLASSPATH} oracle.security.pki.OracleSecretStoreTextUI "$@"
orapki:
#!/bin/bash
# set classpath for orapki - align this to your local SQLcl installation
SQLCL=$(dirname $(which sql))/../lib
CLASSPATH=${SQLCL}/oraclepki.jar:${SQLCL}/osdt_core.jar:${SQLCL}/osdt_cert.jar
# simulate orapki command
java -cl
Top comments (0)