Можно ли использовать Oracle Wallet для подключения узла к своему хранилищу? - PullRequest
0 голосов
/ 21 ноября 2018

Можно ли запустить корпоративный узел, используя Oracle 12c резервное хранилище, сконфигурированное через Oracle Wallet (т. Е. Настроить node.conf, используя только dataSource.url="jdbc:oracle:thin:@host:port:@SOME_ORACLE_WALLET_TNS" без указания параметров dataSource.username или dataSource.password)?

В этом случае, пожалуйста, сообщите, какие дополнительные файлы оракула .jar должны быть добавлены в драйверы узлареж.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Подробнее см. В блоге SSL с JDBC .

0 голосов
/ 23 ноября 2018

Oracle кошелек поддерживается в Corda Enterprise.Ниже приведена рабочая конфигурация с Oracle Wallet, которая была протестирована с Oracle 11g и Oracle 12c.

Предварительные условия

  1. Кошелек Oracle настроен савтоматический вход (-auto_login_local) для базы данных узла

  2. При условии, что URL-адрес подключения к базе данных узла настроен в tnsnames.ora с псевдонимом "db11g":

    $ echo 'For JDBC URL ==> "jdbc:oracle:thin:@localhost:1521/xe" ==> below is an example of tnsnames.ora'
    $ cat ~/oracle_experiment/tnsnames.ora 
    db11g =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = xe)
        )
      )
    
  3. Местоположение кошелька настраивается в sqlnet.ora:

    $ cat ~/oracle_experiment/sqlnet.ora
    WALLET_LOCATION =
       (SOURCE =
         (METHOD = FILE)
         (METHOD_DATA =
           (DIRECTORY = /Users/corda/oracle_wallet/)
         )
       )
    
    SQLNET.WALLET_OVERRIDE = TRUE
    SSL_CLIENT_AUTHENTICATION = FALSE
    SSL_VERSION = 0
    
  4. Sqlplus должен иметь возможность войти в систему без запроса пароля:

    sqlplus /@db11g     
        SQL*Plus: Release 12.2.0.1.0 Production on Tue Nov 27 15:17:00 2018 
        Copyright (c) 1982, 2017, Oracle.  All rights reserved. 
        Last Successful login time: Tue Nov 27 2018 14:46:09 +08:00 
        Connected to:   
        Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production  
        SQL>
    

Необходимые шаги

  1. Изменить конфигурацию базы данных с:

    $ cat dbconfig_oracle11g.conf
    dataSourceProperties = {
        dataSourceClassName = "oracle.jdbc.pool.OracleDataSource"
        dataSource.url = "jdbc:oracle:thin:@localhost:1521/xe"
        dataSource.user = corda_es_user
        dataSource.password = corda_es_passwd
    }
    

    На

    $ cat dbconfig_oracle_wallet.conf 
    dataSourceProperties = {
        dataSourceClassName = "oracle.jdbc.pool.OracleDataSource"
        dataSource.url = "jdbc:oracle:thin:/@db11g"
        dataSource.user=null
        dataSource.password=null   // user and password can't be ignored and can't be left blank.
    }
    
  2. Загрузите и скопируйте следующие JAR-файлы в папку drivers узла:

    ]$ ls <corda>/drivers/
    ojdbc8.jar
    osdt_cert.jar
    osdt_core.jar
    oraclepki.jar
    
  3. Запустите узел с oracle.net.wallet_location и oracle.net.tns_admin опции:

    ]$ java -Doracle.net.wallet_location=/Users/corda/oracle_wallet/ -Doracle.net.tns_admin=/Users/corda/oracle_experiment/ -jar corda.jar
    
...