准备 TLS 无钱包连接

您可以将数据库应用或工具连接到专用 Exadata 基础结构上的自治 AI 数据库,而无需 wallet。在不使用 wallet (TLS) 的情况下连接应用程序可以为验证和加密提供安全保护,并使用客户机操作系统 (OS) 信任的安全证书来强制实施安全保护。

仅当满足以下要求时,不使用客户端 wallet 的 TCPS 连接才有效:

  1. 已启用单向 TLS 连接。

    默认情况下,预配 AVMC 时会启用单向 TLS 连接。有关详细信息,请参阅创建自治 Exadata VM 集群

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

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

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

要自备证书 (BYOC),请按照以下步骤操作:

其他信息

从公共 CA 获取 SSL 证书涉及的高级步骤包括:

  1. 创建 wallet。

     WALLET_PWD=<password>
    
     CERT_DN=CERT_DN="CN=adb.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,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