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