중국시가넷 - 개인 서명 - HTTPS 기반의 웹서비스 환경 준비를 단계별로 해결하는 방법
HTTPS 기반의 웹서비스 환경 준비를 단계별로 해결하는 방법
1. 디지털 인증서 준비
오픈소스 소프트웨어인 openssl을 사용하면 디지털 인증서 부분도 얼마 전에 출시되었습니다. 디지털 인증서 관련 작업을 시작하겠습니다.
1. openssl 다운로드 및 설치
Openssl은 버전 1.0을 사용할 것을 권장합니다. 결국 이것이 공식 버전입니다. OpenSSL 0.9.8h 버전을 사용하지 마십시오(후속 작업에 영향을 미치는 버그가 있습니다). 설치 후 명령줄에서 설치 디렉터리 아래에 bin 디렉터리를 입력합니다. 준비!.
2. CA의 개인 키를 생성합니다.
다음 명령을 실행합니다. openssl genrsa -des3 -out ../demo/ca/ca.key 1024
demo 작업 디렉토리인 경우 비밀번호를 입력하라는 메시지가 표시됩니다. 나중에 사용할 비밀번호가 많으므로 주의 깊게 적어 두는 것이 가장 좋습니다.
3. CA 인증서 생성
openssl req -new -x509 -key ../demo/ca/ca.key -out ../demo/ca/ca.crt - days 365
x509는 암호화 표준, -out은 출력 파일 경로, -key는 이전 단계에서 생성된 지정된 개인 키, -days는 인증서를 나타냅니다. 유효기간.
참고: 일반 이름을 입력할 때 자신의 이름을 지정할 수 있지만 서버 이름(www.XX.X.com)은 입력할 수 없습니다.
4. 서버측
p>
서버측에서 SSL 웹서비스를 제공하기 위한 것이므로 서버측에서는 개인키 저장소와 신뢰 저장소를 사용해야 합니다.
openssl genrsa -des3 -out ../demo/server/server.key 1024
5. 서버 인증서 서명 요청을 생성하세요
공식 CA 기관에 서명 요청을 하는 기관은 모두 수수료를 부과하므로 자체적으로 개발 과정을 엄격하게 검토해야 하기 때문에 실제로는 필요하지 않습니다. openssl을 통해 방금 구축한 CA로 직접 보내면 됩니다.
openssl req -new -key ../demo/server/server.key -out ../demo/server/server.csr
여기서 일반 이름을 기록하세요. 여기에서 채우기 localhost와 같은 서버의 IP 또는 도메인 이름에 인증서를 생성할 서버의 머신을 지정합니다.
6. CA 서명 서버 인증서
CA를 통해 처음으로 인증서에 서명하는 경우 다음 명령을 실행합니다.
openssl x509 -req -days 30 -in ../demo/server/server.csr -CA ../demo/ca/ca.crt -CAkey ../demo/ca/ca.key -CAcreateserial -out ../demo/server/server. crt p>
-CAcreateserial은 새 시퀀스 파일을 생성하는 것을 의미합니다. 이러한 방식으로 openssl은 현재 디렉터리에 ca.srl이라는 파일을 생성하여 일련 번호를 저장합니다. 다음에 인증서에 다시 서명할 때 이 시퀀스 파일을 직접 지정할 수 있습니다.
명령은 다음과 같습니다: openssl x509 -req -days 30 -in ../demo/server/server.csr -CA ../demo/ca/ca.crt -CAkey ../demo/ca/ca.key - CAserial .srl -out ../demo/server/server.crt
CA 개인 키의 비밀번호를 입력한 후 서명에 성공했습니다.
7. 서버 측에서 pkcs12 파일을 생성합니다.
openssl pkcs12 -export -in ../demo/server/server.crt -inkey ../demo/server/server .key - out ../demo/server/server.p12 -name 데모_서버
-name 데모_서버에 주의하세요. 이것은 지정된 키스토어의 별칭입니다(weblogic). 사용해야 하며 인터넷에 있는 정보는 모두 해당 매개변수가 없습니다).
8. pkcs12를 JKS 키스토어 파일로 변환
이 프로세스에는 jetty.jar이 필요하며 해당 jar을 다운로드하여 클래스 경로에 추가한 후 다음 명령을 실행합니다.
java org.mortbay.util.PKCS12Import ../demo/server/server.p12 ../demo/server/server.jks
이전 단계에서 설정한 내보내기 비밀번호를 여기에 입력하세요.
서버 측 관련 파일이 완성되었습니다. 이제 java keytool 명령을 사용하여 생성된 server.jks의 내용을 볼 수 있습니다.
keytool -v -list -keystore .. /demo/ server/server.jks
다음으로 클라이언트 측에서 관련 파일 준비를 시작합니다. 디지털 인증서 메커니즘이 활성화되어 있으므로 클라이언트도 웹 서비스를 통해 서버에 액세스할 때 자체 인증서를 제공해야 합니다. 즉, 서버와 클라이언트가 서로를 인증합니다(고객이 요청함). 클라이언트측 관련 작업은 서버측 작업과 유사하므로 자세히 설명하지 않겠습니다.
9. 클라이언트의 개인 키를 생성합니다.
openssl req -new -newkey rsa:1024 -nodes -out ../demo/client/client.req -keyout .. /demo /client/client.key
10. 클라이언트 인증서 서명 요청 생성
openssl x509 -CA ../demo/ca/ca.crt -CAkey ../demo/ ca /ca.key -CAserial .srl -req -in ../demo/client/client.req -out ../demo/client/client.pem -days 365
11. 사이드 pkcs12 파일
openssl pkcs12 -export -clcerts -in ../demo/client/client.pem -inkey ../demo/client/client.key -out ../demo/client/client .p12 -name
12. 클라이언트측에서 jks 파일을 생성합니다.
java org.mortbay.util.PKCS12Import ../demo/client/client.p12 ../demo /client/client.jks
13. 신뢰 키 저장소를 생성합니다.
이번에는 java keytool 명령을 사용합니다.
keytool -genkey -alias dummy -keyalg RSA -keystore .. /demo/server/truststore.jks
지금까지 디지털 인증서 부분이 완료되었습니다. tomcat에서 SSL 지원을 구성하는 방법을 소개하겠습니다.
14. CA 인증 인증서를 신뢰 저장소로 가져옵니다.
keytool -import -v -trustcacerts -alias my_ca -file ../demo/ca/ca.crt -keystore ./demo/server/truststore.jks
다음 명령을 통해 신뢰 저장소의 세부 정보를 볼 수 있습니다.
keytool -v -list -keystore ../demo/server /truststore.jks
2. Tomcat SSL 지원 구성
1. Tomcat의 server.xml에 새 커넥터를 추가합니다. 구성은 다음과 같습니다. 커넥터 포트= "8443" maxHttpHeaderSize="8192"
SSLEnabled="true"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
활성화Lookups="false"
비활성화UploadTimeout="true"
acceptCount="100"
구성표 ="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile=" /conf/server.jks"
keystorePass="XXXXXX"
알고리즘="SunX509"
/>
참고: keystoreFile은 서버측 jks 파일에 해당하고 keystorePass는 해당 비밀번호에 해당합니다
2. Tomcat을 다시 시작하고 브라우저에 https://localhost:8443/을 입력하여 테스트하세요
https를 통해 웹 기능에 접근하기 우리는 주로 웹서비스의 SSL을 해결하기 때문에 브라우저에서 인증서를 가져와야 하며, 브라우저에서 인증서를 가져오는 방법은 소개하지 않습니다.
Tomcat 구성은 매우 간단합니다.
3. Weblogic9.2 SSL 구성
Weblogic은 콘솔을 통해 SSL 구성을 완료할 수 있습니다. 다음은 몇 가지 스크린샷입니다.
1. , 페이지 왼쪽 끝에서 도메인을 클릭합니다: 환경 >> 서버 >> 편집할 서버를 클릭하고 그림과 같이 일반 탭에서 다음 구성을 수행합니다(빨간색 영역 참고). p>
[img]/admin/ blogs/7.jpg" alt="그림 7[/img]
2. 개인 키 저장소 탭으로 전환합니다.
[ img]/admin/blogs/8.jpg" alt="그림 8[/img]
참고: 1. 키 저장소에 대해 "Custom Identity and Custom Trust"를 선택합니다.
2 . 키 저장소의 위치는 절대 경로일 수 있습니다. 경로는 상대 경로일 수도 있습니다.
3. 비밀번호는 디지털 인증서 부분에 있는 비밀번호입니다.
3.
[img]/admin /blogs/9.jpg" alt="그림 9[/img]
개인 키 별칭은 우리가 사용하는 서버 개인 키의 별칭입니다. 디지털 인증서 부분에 명시되어 있습니다
좋습니다. 설정을 저장하고 다시 시작하시면 됩니다. https://localhost:7002/를 방문하여 사용해 보세요.