SSLの使用

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

SSL設定の手順:

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

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

    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);

注釈

インストールディレクトリで利用可能な edboci.h ヘッダーファイルに EDB_ATTR_SSL が定義されています。

  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