보안 통신을 위해 SSL을 사용하는 구성 예
다음 예에서는 Windchill 및 ThingWorx에 대해 신뢰할 수 있는 SSL 통신을 구성하는 한 가지 방법을 보여줍니다. 이 예에서는 자체 서명된 인증서를 사용하여 Windchill과 ThingWorx 간의 통신에 보안을 설정합니다. 이 방법은 통신이 회사 방화벽 내에서 이루어지는 환경에 적합합니다. 트래픽이 인터넷에서 발생하는 경우 상업용 신뢰할 수 있는 인증서를 사용하는 것이 좋습니다.
|
• 이 지침에서는 최신 버전 PTC HTTP Server와 함께 제공되는 구성 스크립트를 사용합니다. 최신 PTC HTTP Server에는 Windchill 11.0 M020 및 Windchill 10.2에 대한 최신 CPS 릴리즈가 포함되어 있습니다.
• 이 예에서는 Windchill이 SSL을 사용하도록 이미 구성되어 있다고 가정합니다.
• 이 예는 PTC Navigate 1.4 이하에서 사용되었던 이전 Windchill 커넥터인 WindchillConnector에 적용됩니다.
• 이전 Windchill 커넥터는 ThingWorx Single Sign-On 환경에도 사용할 수 있습니다.
• 여기에서 사용된 키는 Windchill 또는 ThingWorx 웹 인터페이스에 사용되는 키와 동일하지 않아도 됩니다.
• 페이지에 맞게 코드 예가 재구성되었으며 라인 번호, 숨겨진 편집 문자(예: 탭 및 줄의 끝 문자) 및 공백이 포함되어 있을 수 있습니다. 코드를 잘라내 붙여넣을 경우 응용 프로그램에 예를 사용하기 전에 이러한 문자가 있는지 확인하여 제거하십시오.
|
1. ThingWorx에 대한 신뢰 저장소를 생성하고 Windchill 인증서를 가져옵니다.
2. ThingWorx에 대한 키스토어를 생성합니다.
3. Windchill이 ThingWorx를 신뢰하도록 구성합니다.
|
ThingWorx와 Windchill이 서로 다른 시스템에 있을 경우 3 a, b, c 단계를 Windchill 서버에서 수행할 수 있습니다. 그런 다음 *.jks 파일을 ThingWorx 서버에 복사합니다.
|
a. CA 인증서 파일을 참조하도록 PTC HTTP Server 구성을 업데이트합니다.
a. <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf로 이동하여 편집합니다.
b. SSLCACertificateFile 항목에서 의견을 삭제하여 ca-bundle.crt 파일을 참조하도록 합니다. ca-bundle.crt 파일의 위치를 기록해 둡니다.
c. 변경 사항을 저장합니다.
b. ThingWorx 인증서를 PTC HTTP Server의 신뢰할 수 있는 CA 인증서 목록에 추가합니다.
a. 이전에 SSLCACertificateFile 항목에서 가리켰던 ca-bundle.crt 파일을 편집합니다.
|
파일이 없으면 파일 및 필요한 디렉토리를 생성합니다.
|
b. 신뢰 저장소에 저장된 ThingWorx 인증서(위의 2 a 단계의 servercert.pem)의 콘텐츠를 이 파일에 추가합니다.
c. 변경 사항을 저장합니다.
c. 인증서 정보를 Windchill로 내보내도록 PTC HTTP Server를 구성합니다.
a. <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf를 편집합니다.
b. SSLOptions가 포함된 라인을 찾습니다.
c. SSLOptions +ExportCertData가 포함된 라인에서 의견을 삭제합니다.
예:
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire<FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars/FilesMatch><Directory "C:/ptc/Windchill_10.2/HTTPServer/cgi-bin"> SSLOptions +StdEnvVars</Directory>
d. 변경 사항을 저장합니다.
d. PTC HTTP Server에 대해 sslClientAuth URL을 구성합니다.
a. wt.webapp.name 항목의 <windchill-home>/codebase/wt.properties에서 Windchill 웹 앱 이름을 찾습니다.
b. 셸 또는 명령 프롬프트를 열고 다음을 입력합니다.
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app]
-Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Windchill이 ThingWorx 인증서를 신뢰하도록 구성합니다.
a. <windchill-home>/codebase/WEB-INF/web.xml을 편집합니다.
b. <filter-name>TrustedSSLAuthFilter</filtername>을 찾습니다.
c. 기존 <init-param> 요소 뒤에 이 요소를 하나 더 추가합니다. 여기서 [thingworx-cert-name]은 ThingWorx 인증서의 이름입니다. 자체 서명된 인증서의 경우 인증서 이름은 keytool -list -v -keystore <path-to-ThingWorxKeyStore.jks>를 실행할 때의 인증서의 소유자 값입니다.
<init-param><param-name>trustedSubjectPattern.1 </param-name><param-value>[thingworx-cert-name]</param-value>
</init-param>
d. 변경 사항을 저장합니다.
4. ThingWorx에 대해 SSL을 구성합니다.
a. ThingWorx Composer에서 구성 중인 Windchill 시스템에 대한 연결을 나타내는 ptc-windchill-demo-thing 사물 템플릿을 편집합니다.
b. ThingWorxKeyStore.jks에 대한 경로를 지정하고(스크린샷의 예 참조), 암호도 지정합니다.
c. ThingWorxTrustStore.jks에 대한 경로를 지정하고(스크린샷의 예 참조), 암호도 지정합니다.
d. Windchillhttps 주소 및 SSL 포트를 지정합니다.
e. 사물을 저장합니다.
f. ThingWorx 응용 프로그램 로그를 보고 구성 오류가 있는지 확인합니다.
5. ptc-connected-demo-mashup을 시작하여 ThingWorx - Windchill 간 신뢰할 수 있는 SSL 구성을 확인합니다.