SSLの使用

EDBPostgresAdvancedServerは、SSL接続を使用してクライアント/サーバー通信を暗号化し、セキュリティを強化するためのネイティブサポートを提供します。OCLでは、 sslmode パラメータを verify-full または verify-ca に設定し、検証するルート証明書をシステムに提供することで制御されます。

SSL設定の手順:

  1. サーバーおよびクライアント側の証明書を構成します。SSLクライアントおよびサーバー側の証明書の構成の詳細については、PostgreSQLSSLのドキュメントを参照してください。<https://www.postgresql.org/docs/12/libpq-ssl.html>`_。

  2. SSLOCL接続を有効にします。

    OCLクライアントアプリケーションでは、 Session に EDB_ATTR_SSL 属性を設定することでSSLモードを有効にできます。

char*sslmode= "verify-full";
retValue=OCIAttrSet((dvoid*)authp,(ub4)OCI_HTYPE_SESSION,
           (dvoid*)sslmode,(ub4)strlen((char*)sslmode),
               (ub4)EDB_ATTR_SSL, errhp);

注釈

EDB_ATTR_SSL は、インストールディレクトリにある edboci.h ヘッダーファイルで定義されています。

  1. SSL属性を設定した後、 OCILogon 関数を使用して接続を作成できます:

OCILogon(pEnv,pError,&pSvc,(OraText*)pUsername,ub4)UsernameLen,
            (OraText*)pPassword,(ub4)PasswordLen,
            (OraText*)pDatabase,(ub4)DatabaseLen);

サーバーが認証されると、クライアントは機密データを渡す準備ができます。

サポートされているSSLモードオプションの詳細については、以下を参照してください。

https://www.postgresql.org/docs/12/libpq-ssl.html#LIBPQ-SSL-SSLMODE-STATEMENTS