SSLの使用¶
EDB Postgres Advanced Serverは、SSL接続を使用してクライアント/サーバー通信を暗号化し、セキュリティを強化するネイティブサポートを提供します。 OCLでは、 sslmode パラメーターを verify-full または verify-ca に設定し、検証するルート証明書をシステムに提供することで制御されます。
SSL設定の手順:
サーバーおよびクライアント側の証明書を構成します。 SSLクライアントおよびサーバー側の証明書の構成に関する詳細については、PostgreSQL SSLの``ドキュメント``を参照してください。 <https://www.postgresql.org/docs/12/libpq-ssl.html>`_ 。
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 が定義されています。
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