溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pulsar TLS 傳輸加密

發(fā)布時間:2020-07-27 09:43:10 來源:網(wǎng)絡 閱讀:207 作者:qq5dc264c690eab 欄目:大數(shù)據(jù)
        默認情況下,Apache Pulsar客戶端以純文本與Apache Pulsar服務通信??梢酝ㄟ^配置TLS傳輸加密,開啟TLS要影響傳輸性能。
        以下是具體配置Pulsar TLS操作和注意事項。(Pulsar 2.4.2版本測試通過)
        一  創(chuàng)建根證書CA
        /data目錄下
        $ mkdir my-ca
        $ cd my-ca
        $ wget --no-check-certificate https://raw.githubusercontent.com/apache/pulsar/master/site2/website/static/examples/openssl.cnf
        $ export CA_HOME=$(pwd)
        $ mkdir certs crl newcerts private
        $ chmod 700 private/
        $ touch index.txt
        $ echo 1000 > serial
        生成根證書的私鑰,需要錄入秘密,記錄此密碼后邊會使用
        $ openssl genrsa -aes256 -out private/ca.key.pem 4096
        生成根證書CA
        $openssl req -config openssl.cnf -key private/ca.key.pem \
         -new -x509 -days 7300 -sha256 -extensions v3_ca \
         -out certs/ca.cert.pem
        1)先錄入上邊的私鑰密碼
        2)填寫信息,記錄錄入的信息后邊用到
         Country Name (2 letter code):CN  //國家名
         State or Province Name:beijing    //省名
         Locality Name:beijing                   //城市名
         Organization Name:test               //組織名稱
         Organizational Unit Name:test    //組織單位名稱
         Common Name:  服務器域名或是ip
         Email Address:郵件
         $ chmod 444 certs/ca.cert.pem

         二 生成服務器證書
         生成服務器證書密鑰
         $ openssl genrsa -out broker.key.pem 2048
         $ openssl pkcs8 -topk8 -inform PEM -outform PEM \
           -in broker.key.pem -out broker.key-pk8.pem -nocrypt
          生成服務器證書請求,根據(jù)提示填寫信息國家等基本信息和CA根證書一一致。
          Common Name要填寫服務器的域名(單Broker可以填寫IP)
         $ openssl req -config openssl.cnf \
           -key broker.key.pem -new -sha256 -out broker.csr.pem         
         $ openssl ca -config openssl.cnf -extensions server_cert \
           -days 1000 -notext -md sha256 \
           -in broker.csr.pem -out broker.cert.pem

        三 Broker配置
        broker.conf文件中
        默認brokerServicePortTls  webServicePortTls為空,不啟動TLS通過填寫端口號告訴服務器開啟TL通道,
        如果相關(guān)閉普通通道把brokerServicePort和webServicePort的端口去掉。
        brokerServicePort=6650     
        brokerServicePortTls=6651
        webServicePort=8080
        webServicePortTls=8443
        tlsCertificateFilePath=/data/my-ca/broker.cert.pem
        tlsKeyFilePath=/data/my-ca/broker.key-pk8.pem
        tlsTrustCertsFilePath=/data/my-ca/certs/ca.cert.pem
        注意:官方文檔中tlsProtocols tlsCiphers 如果配置了我使用客戶端測試時會不通過。此兩項不填寫測試可以通過。

        四 配置完成broker.conf啟動Broker查看日志文件提示以下信息說明服務端開啟了TLS服務
         Started PulsarServerConnector@6a2eea2a{SSL,[ssl, http/1.1]}{0.0.0.0:8443}

        五 JAVA客戶端測試
           1)拷出剛才生成的公有證書 /data/my-ca/certs/ca.cert.pem 放到客戶端服務上
           2)java 主要代碼,發(fā)送或接收數(shù)據(jù)正常說明配置成功
             PulsarClient client =PulsarClient.builder()
                .serviceUrl(url)
                .tlsTrustCertsFilePath("D:/jar/ca.cert.pem")//客戶端服務器上公有證書路徑
                .enableTlsHostnameVerification(false) 
                .allowTlsInsecureConnection(false)
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI