목차

소개

문제

구성 요소

솔루션

소개

이 문서에서는 Cisco Cloud Service Platform을 포함하는 KVM(키보드/비디오/마우스) 기반 커널에서 SSMS(Smart Software Manager Satellite) 5.1.0 설치가 실패할 때 발생하는 문제에 대한 해결책을 설명합니다.

문제

설치가 콘솔을 통해 완료되고 UI(사용자 인터페이스)에 액세스할 수 있습니다.

CSSM 등록 설정 프로세스 시 네트워크 등록 및 수동 등록을 수행하는 동안 등록이 실패하는 것을 알 수 있습니다.tomcat 버전은 KVM 기반 시스템에서 검증되고 커널과 JVM(Java Virtual Machine)입니다.JVM은 1.8.0_102-b14 및 커널 3.10.0-514.el7을 실행합니다. 커널이 3.10.0-862.14.4.el7 및 JVM 1.8.0_191-b12를 실행하는 ESXI 기반 설정과 비교해 보십시오.

[root@satellite bin]# ./version.sh

Using CATALINA_BASE: /opt/tc

Using CATALINA_HOME: /opt/tc

Using CATALINA_TMPDIR: /opt/tc/temp

Using JRE_HOME: /

Using CLASSPATH: /opt/tc/bin/bootstrap.jar:/opt/tc/bin/tomcat-juli.jar

Using CATALINA_PID: /opt/tomcat/temp/tomcat.pid

Server version: Apache Tomcat/9.0.1

Server built: Sep 27 2017 17:31:52 UTC

Server number: 9.0.1.0

OS Name: Linux

OS Version: 3.10.0-514.el7.x86_64

Architecture: amd64

JVM Version: 1.8.0_102-b14

JVM Vendor: Oracle Corporation

구성 요소

플랫폼:KVM 기반 커널

소프트웨어:기존 5.1 ISO 이미지

솔루션

1단계. cd/opt/tomcat/logs/로 이동합니다.

2단계. catalina.out 로그를 열고 CSSM을 사용하여 등록 프로세스 시 발생하는 예외를 찾습니다.

IAIK 제공자 IAIK-JCE는 일련의 API를 포함하며 암호화 기능을 구현할 수 있는 Java Cryptography Extension입니다.JDK에 대한 추가 보안 기능을 지원하기 위해 사용됩니다.IAIK jar 파일을 사용할 수 없어 LCS 모듈에서 CSR 요청 파일에 대한 키 쌍을 생성하지 못했습니다.

2019-05-15 20:35:01,604 [http-nio-8080-exec-9] INFO controller.LindosController - Invoked GET /lcsSetupStatus

2019-05-15 20:35:01,606 [http-nio-8080-exec-9] INFO controller.LindosController - LCS Setup Status = 0

2019-05-15 23:53:12,226 [http-nio-8080-exec-10] INFO controller.LindosController - Invoked GET /lcsSetupStatus

2019-05-15 23:53:12,230 [http-nio-8080-exec-10] INFO controller.LindosController - LCS Setup Status = 0

2019-05-15 23:53:12,241 [http-nio-8080-exec-1] INFO controller.LindosController - Invoked /lcsSetup

2019-05-15 23:53:12,243 [http-nio-8080-exec-1] DEBUG controller.LindosController - Setup Status = 0 (0=empty, 1=key/CSR generated, 2=Signer certs installed)

2019-05-15 23:53:12,243 [http-nio-8080-exec-1] DEBUG controller.LindosController - First time setup invoked (ID element not present in JSON). CN=5fc62a80-59a0-0137-54ab-023a01ab3207

2019-05-15 23:53:12,243 [http-nio-8080-exec-1] DEBUG domain.LcsSignerSetup - In LcsSignerSetup

2019-05-15 23:53:12,244 [http-nio-8080-exec-1] DEBUG domain.LcsSignerSetup - Generating Key Pair...

2019-05-15 23:53:12,244 [http-nio-8080-exec-1] ERROR error.RestResponseEntityExceptionHandler - java.security.NoSuchProviderException: no such provider: IAIK

com.cisco.ias.lindos.data.domain.LcsSetupException: java.security.NoSuchProviderException: no such provider: IAIK

at com.cisco.ias.lindos.data.domain.LcsSignerSetup.<init>(LcsSignerSetup.java:50)

at com.cisco.ias.lindos.web.controller.LindosController.setupLcs(LindosController.java:126)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:500)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

2019-05-15 23:53:12,254 [http-nio-8080-exec-2] INFO controller.LindosController - Invoked GET /lcsSetupStatus

2019-05-15 23:53:12,256 [http-nio-8080-exec-2] INFO controller.LindosController - LCS Setup Status = 0

3단계. 필요한 보안 제공자를 클래스 경로에 배치합니다. cp /opt/tomcat/webapps/Lindos/WEB-INF/lib/iaik_jce-5.1.jar /usr/lib/jvm/java/jre/lib/ext/입니다.

4단계. 다른 모듈에서 jar를 읽을 수 있는지 확인합니다. chmod o+r /usr/lib/jvm/java/jre/lib/ext/iaik_jce-5.1.jar.

5단계. java.security 파일 경로를 임시 변수에 저장합니다. java_security=/usr/lib/jvm/java/jre/lib/security/java.security.

6단계. 기존 공급자 우선순위를 perl -pi -e 's/^security.provider.(\d+)/"security.provider."로 증가시킵니다. . ($1+1)/e' $java_security.

7단계. IAIK를 목록의 첫 번째 공급자로 삽입합니다(줄바꿈 기호를 이스케이프하는 백슬래시 참고). -i '/security.provider.2/i \

security.provider.1=iaik.security.provider.IAIK' $java_security.

8단계. 명령을 적용하려면 tomcat을 다시 시작하고, systemctl은 tomcat을 재시작합니다.

9단계. 위성을 CSSM에 등록하고 위성 등록이 완료되면 UI를 다시 시작하지 못합니다.

10단계. PEM(Privacy Enhanced Email) 형식을 충족하기 위해 포트 443 및 8443에서 TLS(Transport Layer Security) 연결에 사용되는 x509 인증서를 모두 접습니다. fold -w 64 /drbd/certs/rails_ssl.crt > /drbd/certs/rails_ssl_folded.crt && mv /drbd/certs/rails_ssl_folded.crt /drbd/certs/rails_ssl.crt

-w 64 /drbd/certs/pi_ssl.crt > /drbd/certs/pi_ssl_folded.crt && mv /drbd/certs/pi_ssl_folded.crt /drbd/certs/pi_ssl.crt을 접습니다.

참고:이러한 명령은 64로 인코딩된 PEM 인증서를 손상하므로 다른 행으로 이동할 뿐 아니라 접어서 실행하지 마십시오.

11단계 nginx 시작; systemctl 시작 nginx.

참고:동기화 후 UI가 나타나지 않으면 이러한 인증서가 업데이트/교체되기 때문입니다.따라서 8-10단계를 반복해야 합니다.

다음 단계를 수행한 후 UI에 액세스하면 CSSM과의 사후 동기화 및 최종 등록이 완료된 것을 확인할 수 있습니다.

VA에서 매핑된 라이센스의 인벤토리 및 라이센스 섹션을 볼 수 있습니다.스마트 제품 인스턴스를 Satellite에 등록할 수 있습니다.