

# 配置 SQL\$1Plus 以将 SSL 用于 RDS for Oracle 数据库实例
<a name="Appendix.Oracle.Options.SSL.ClientConfiguration"></a>

在连接到使用 Oracle SSL 选项的 RDS for Oracle 数据库实例之前，您必须先配置 SQL\$1Plus。

**注意**  
若要允许从适当的客户端访问数据库实例，请确保已正确配置安全组。有关更多信息，请参阅“[使用安全组控制访问权限](Overview.RDSSecurityGroups.md)”。另外，这些说明适用于 SQL\$1Plus 和其他直接使用 Oracle 主目录的客户端。有关 JDBC 连接，请参阅[设置通过 JDBC 的 SSL 连接](Appendix.Oracle.Options.SSL.JDBC.md)。

**将 SQL\$1Plus 配置为使用 SSL 连接到 RDS for Oracle 数据库实例**

1. 将 `ORACLE_HOME` 环境变量设置为 Oracle 主目录的位置。

   Oracle 主目录的路径取决于您的安装。以下示例设置 `ORACLE_HOME` 环境变量。

   ```
   prompt>export ORACLE_HOME=/home/user/app/user/product/19.0.0/dbhome_1
   ```

   有关设置 Oracle 环境变量的信息，请参阅 Oracle 文档中的 [SQL\$1Plus 环境变量](http://docs.oracle.com/database/121/SQPUG/ch_two.htm#SQPUG331)，另请参阅适用于您的操作系统的 Oracle 安装指南。

1. 将 `$ORACLE_HOME/lib` 追加到 `LD_LIBRARY_PATH` 环境变量。

   下面是一个设置 LD\$1LIBRARY\$1PATH 环境变量的示例。

   ```
   prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
   ```

1. 为 `$ORACLE_HOME/ssl_wallet` 处的 Oracle wallet 创建一个目录。

   下面是一个创建 Oracle wallet 目录的示例。

   ```
   prompt>mkdir $ORACLE_HOME/ssl_wallet
   ```

1. 下载适用于所有 AWS 区域的证书捆绑 .pem 文件并将此文件放在 ssl\$1wallet 目录中。有关信息，请参阅[使用 SSL/TLS 加密与数据库实例或集群的连接](UsingWithRDS.SSL.md)。

1. 在 `$ORACLE_HOME/network/admin` 目录中，修改或创建 `tnsnames.ora` 文件并包含下列条目。

   ```
   net_service_name = 
     (DESCRIPTION = 
       (ADDRESS_LIST = 
         (ADDRESS = 
           (PROTOCOL = TCPS) 
           (HOST = endpoint) 
           (PORT = ssl_port_number)
         )
       )
       (CONNECT_DATA = 
         (SID = database_name)
       )
       (SECURITY = 
         (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=endpoint")
       )
     )
   ```

1. 在同一目录中，修改或创建 sqlnet.ora 文件并包含下列参数。
**注意**  
要通过 TLS 安全连接与实体进行通信，Oracle 需要包含身份验证所需证书的钱夹。您可以使用 Oracle 的 ORAPKI 实用工具来创建和维护 Oracle 钱夹，如步骤 7 中所示。有关更多信息，请参阅 Oracle 文档中的[使用 ORAPKI 设置 Oracle 钱夹](https://docs.oracle.com/cd/E92519_02/pt856pbr3/eng/pt/tsvt/task_SettingUpOracleWalletUsingORAPKI.html)。

   ```
   WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet))) 
   SSL_CLIENT_AUTHENTICATION = FALSE 
   SSL_VERSION = 1.0 
   SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) 
   SSL_SERVER_DN_MATCH = ON
   ```
**注意**  
您可以将 `SSL_VERSION` 设置为较高值（如果您的数据库实例支持它）。

1. 运行下列命令以创建 Oracle Wallet。

   ```
   prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only
   ```

1. 使用操作系统实用程序将 .pem 捆绑文件中的每个证书解压缩到单独的 .pem 文件中。

1. 使用单独的 `orapki` 命令将每个证书添加到 Wallet 中，将 `certificate-pem-file` 替换为 .pem 文件的绝对文件名。

   ```
   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
         certificate-pem-file -auto_login_only
   ```

   有关更多信息，请参阅 [轮换 SSL/TLS 证书](UsingWithRDS.SSL-certificate-rotation.md)。