在使用金鑰儲存庫的非 Java Db2 用戶端中配置 TLS 支援
您可以配置 Db2 資料庫用戶端 (例如 CLI、CLP 及 .Net Data Provider 用戶端) ,以支援傳輸層安全 (TLS) 與 Db2 伺服器進行通訊。
關於此作業
此作業顯示如何僅使用簽署憑證在非 Java Db2® 用戶端中配置 TLS 支援。 如需如何僅使用憑證檔來配置 TLS 支援的相關資訊,請參閱 使用憑證檔在非 Java Db2 用戶端中配置 TLS 支援。
程序
範例
首先,將節點及資料庫編目,以便用戶端應用程式可以建立與它們的 TLS 連線:
catalog TCPIP NODE mynode REMOTE 127.0.0.1 SERVER 50001 SECURITY SSL
catalog DATABASE sample AS myssldb AT NODE mynode接下來,使用 ssl_clnt_keydb 和 ssl_clnt_stash 配置參數來指定用戶端金鑰資料庫和隱藏檔。 您將 ssl_clnt_keydb 配置參數設為金鑰資料庫檔的完整路徑 (.p12) ,並將 ssl_clnt_stash 配置參數設為隱藏檔的完整路徑:
db2 update dbm cfg using SSL_CLNT_KEYDB /home/db2inst1/client.p12 SSL_CLNT_STASH /home/db2inst1/client.sth如果 ssl_clnt_keydb 或 ssl_clnt_stash 配置參數是空值 (取消設定) ,連線會失敗並傳回錯誤 SQL10013N ,記號為 GSKit 錯誤 :GSKit_return_code。
從 CLP 用戶端連接至伺服器:
db2 connect to myssldb user user1 using password您也可以使用下列陳述式,從內嵌式 SQL 應用程式進行連接:Strcpy(dbAlias,"myssldb"); EXEC SQL CONNECT TO :dbAlias USER :user USING :pswd; 範例 2: 使用連線字串從 CLI/ODBC 應用程式連接至資料庫:
使用包含 SECURITY=SSL、 SSLClientKeystoredb及 SSLClientStash 關鍵字的連線字串來呼叫 SQLDriverConnect 函數 t。 例如:
"Database=sampledb; Protocol=tcpip; Hostname= myhost; Servicename=50001;
Security=ssl; SSLClientKeystoredb=/home/db2inst1/client.p12;
SSLClientKeystash=/home/db2inst1/client.sth;"範例 3: 使用 db2cli.ini 配置檔,從 CLI/ODBC 應用程式連接至資料庫:
使用 db2cli.ini 檔案來設定所需的連線參數:
[sampledb]
Database=sampledb
Protocol=tcpip
Hostname=myhost
Servicename=50001
Security=ssl
SSLClientKeystoredb=/home/db2inst1/client.p12
SSLClientKeystash=/home/db2inst1/client.sth範例 4: 使用 SQLDriverConnect 函數 (CLI) 從 CLI/ODBC 應用程式連接至資料庫:
使用 FileDSN CLI/ODBC 關鍵字,以識別從中建置連線字串以連接至 Db2 伺服器的 DSN 檔案。 您可以在 SQLDriverConnect 函數的連線字串中指定 FileDSN 的值。
下列範例顯示如何寫入 DSN 檔案:
[ODBC]
DRIVER=IBM DB2 ODBC DRIVER – DB2COPY1
UID=user1
AUTHENTICATION=SERVER
PORT=50001
HOSTNAME=myhost
PROTOCOL=TCPIP
DATABASE=SAMPLEDB
SECURITY=SSL
SSLClientKeystoredb=/home/db2inst1/client.p12
SSLClientKeystash=/home/db2inst1/client.sth範例 5: 使用 db2dsdriver.cfg 配置檔從 CLI/ODBC 應用程式或內嵌式 SQL 應用程式連接至資料庫。
如果您是執行 Db2 11.5.7 或更新版本,則可以在 db2dsdriver.cfg 配置檔中包括 SSLServerCertificate 關鍵字,以從內嵌式 SQL 應用程式進行連接。
下列範例顯示如何撰寫 db2dsdriver.cfg 配置檔:
<dsn alias="sample" host="myhost.ibm.com" name="sample" port="50001">
<parameter name="SSLClientKeystoredb" value="/home/db2inst1/client.p12"/>
<parameter name="SSLClientKeystash" value="/home/db2inst1/client.sth"/>
<parameter name="SecurityTransportMode" value="SSL"/>
</dsn>