安裝Portal for ArcGIS時如何正確配置HTTPS證書


SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。 SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。

它提供了以下服務:

1)認證用戶和服務器,確保數據發送到正確的客戶機和服務器;

2)加密數據以防止數據中途被竊取;

3)維護數據的完整性,確保數據在傳輸過程中不被改變。

 

在配置Portal for ArcGIS時候,由於需要用到HTTPS進行訪問以及和ArcGIS Server進行通訊,所以需要用到SSL。

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序

 

供測試或其它目的使用。OpenSSL整個軟件包大概可以分成三個主要的功能部分:密碼算法庫、SSL協議庫以及應用程序。

以下為使用OpenSSL對SSL的常規配置流程。

 

1.生成密鑰對

openssl genrsa -des3 -out myServer.key 2048

 

2.生成證書簽名請求。

openssl req -new -key myServer.key -out myServer.csr  -subj

 

"/C=CN/ST=Guangdong/L=Guangzhou/O=Esri/OU=IT/CN=www.seanpc.com"

 

注意:CN為服務器域名名稱。

 

3.簽名證書

openssl req -x509 -sha256 -days 3650 -key myServer.key -in myServer.csr -out myServer.crt

 

4.測試證書。

openssl x509 -noout -text -in myServer.crt

 

6.導出PKCS標准的證書。該格式證書可以被導入到IIS中。

openssl pkcs12 -export -inkey myServer.key -in myServer.crt -name www.seanpc.com -out myServer.pfx

 

7.導入到tomcat或IIS服務器中以啟動Https。

#對於IIS服務器,雙擊myServer.pfx啟動導入向導。

 

#對於tomcat服務器,修改server.xml配置文件如下。

##使用JSSE實現:

 

 1 <!-- Define a HTTP/1.1 Connector on port 8443, JSSE NIO implementation -->
 2 
 3 <Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
 4 
 5            port="8443" .../>
 6 
 7  
 8 
 9 <!-- Define a HTTP/1.1 Connector on port 8443, JSSE BIO implementation -->
10 
11 <Connector protocol="org.apache.coyote.http11.Http11Protocol"
12 
13            port="8443" .../>

 

 

1 <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
2 <Connector
3            protocol="org.apache.coyote.http11.Http11NioProtocol"
4            port="8443" maxThreads="200"
5            scheme="https" secure="true" SSLEnabled="true"
6            keystoreFile="${user.home}/.keystore" keystorePass="changeit"
7            clientAuth="false" sslProtocol="TLS"/>

 

 

 

##使用APR OpenSSL引擎實現:

 

1 <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
2  
3 
4 <!-- Define a HTTP/1.1 Connector on port 8443, APR implementation -->
5 <Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
6            port="8443" .../>

 

 

1 <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
2 <Connector
3            protocol="org.apache.coyote.http11.Http11Protocol"
4            port="8443" maxThreads="200"
5            scheme="https" secure="true" SSLEnabled="true" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"  clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
6  keystoreType="PKCS12" keystoreFile="C:\apache-tomcat-7.0.47\myServer.pfx" keystorePass="esrichina"/>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM