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