准备 TLS 无钱包连接

您可以在不使用 wallet 的情况下将数据库应用程序或工具连接到 Autonomous Database on Dedicated Exadata Infrastructure 。在没有 wallet (TLS) 的情况下连接应用程序可提供验证和加密的安全性,并且使用受客户端操作系统 (operating system,OS) 信任的安全证书来强制实施安全性。

仅当满足以下要求时,不使用客户端 wallet 的 TCPS 连接才有效:
  1. 已启用单向 TLS 连接。

    默认情况下,预配 AVMC 时会启用单向 TLS 连接。有关更多信息,请参见 Create an Autonomous Exadata VM Cluster

  2. 服务器 SSL 证书受客户机操作系统信任。

    使用由众所周知的公共 CA 签名的 (BYOC) 数字 SSL 证书,以便在默认情况下让客户机 OS 信任该证书。如果数字证书未由众所周知的公共 CA(如 Digicert)签名,请手动添加证书,以便客户机 OS 信任该证书。

    例如,在 Linux 环境中,将服务器提供的证书添加到 /etc/ssl/certs/ca-bundle.crt 文件中。

要自带证书 (BYOC),请按照以下步骤操作:
  • 从公共 CA(如 Digicert)获取 SSL 证书。有关详细信息,请参见 Additional Information
  • 使用 OCI 证书服务植入 SSL 证书。请参阅 Creating a Certificate

    这些证书必须已签名,并且必须采用 PEM 格式,即,其文件扩展名必须仅为 .pem、.cer 或 .crt。

  • Manage Certificates(管理证书)对话框将 SSL 证书添加到 AVMC,可从 AVMC Details(详细信息)页面访问。请参阅管理自治 Exadata VM 集群的安全证书

其他信息

从公共 CA 获取 SSL 证书涉及的高级步骤包括:
  1. 创建 wallet。

    WALLET_PWD=<password>
    
    CERT_DN="CN=atpd-exa-xjg2g-scan.subnetadbd.vncadbdexacs.oraclevcn.com,OU=FOR TESTING PURPOSES ONLY,O=Oracle Corporation,L=Redwood City,ST=California,C=US"
    CERT_VALIDITY=365
    KEY_SIZE=2048
    SIGN_ALG="sha256"
    WALLET_DIR=$PWD
    ASYM_ALG="RSA"
    
    $ORACLE_HOME/bin/orapki wallet create -wallet $WALLET_DIR -pwd $WALLET_PWD -auto_login
  2. 创建签名请求(这将在 wallet 中创建一个私有密钥和一个请求的证书)
    $ORACLE_HOME/bin/orapki wallet add -wallet $WALLET_DIR -dn "$CERT_DN" -pwd $WALLET_PWD
          -keysize $KEY_SIZE -sign_alg $SIGN_ALG -validity $CERT_VALIDITY -asym_alg $ASYM_ALG
  3. 导出签名请求
    $ORACLE_HOME/bin/orapki wallet export -wallet $WALLET_DIR -dn "$CERT_DN" -request
          $WALLET_DIR/cert.csr
  4. 将签名请求文件 cert.csr 发送到公共 CA,以便 CA 验证该文件并发送回用户/叶证书和链。

  5. 在 wallet 中添加用户证书和链(根 + 中间证书)
    $ORACLE_HOME/bin/orapki wallet add -wallet $WALLET_DIR -pwd $WALLET_PWD  -trusted_cert -cert
          $WALLET_DIR/root.crt$ORACLE_HOME/bin/orapki wallet add -wallet $WALLET_DIR -pwd $WALLET_PWD  -trusted_cert -cert
          $WALLET_DIR/intermediate.crt$ORACLE_HOME/bin/orapki wallet add -wallet $WALLET_DIR -pwd $WALLET_PWD -user_cert -cert
          $WALLET_DIR/usercert.crt
  6. 将用户证书、链证书和私钥上载到 Oracle Cloud Infrastructure (OCI) 证书服务。可以使用以下命令从 wallet 获取私钥:
    openssl pkcs12 -in $WALLET_DIR/ewallet.p12 -out $WALLET_DIR/private.pem -nocerts