보안 통신을 위해 SSL을 사용하는 구성 예
  
보안 통신을 위해 SSL을 사용하는 구성 예
다음 예에서는 WindchillThingWorx에 대해 신뢰할 수 있는 SSL 통신을 구성하는 한 가지 방법을 보여줍니다. 이 예에서는 자체 서명된 인증서를 사용하여 WindchillThingWorx 간의 통신에 보안을 설정합니다. 이 방법은 통신이 회사 방화벽 내에서 이루어지는 환경에 적합합니다. 트래픽이 인터넷에서 발생하는 경우 상업용 신뢰할 수 있는 인증서를 사용하는 것이 좋습니다.
* 
이 지침에서는 최신 버전 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. WindchillThingWorx를 신뢰하도록 구성합니다.
* 
ThingWorxWindchill이 서로 다른 시스템에 있을 경우 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. WindchillThingWorx 인증서를 신뢰하도록 구성합니다.
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 구성을 확인합니다.
* 
Windchill 커넥터로 구성하는 방법은 Windchill 인증을 사용하여 ThingWorx Navigate 구성을 참조하십시오.