See related question.PEM 파일을 사용하여 Java에서 SSL 소켓을 만드는 방법은 무엇입니까?
은 내가 PEM 파일이 나에게 제공과 일부 API 호출에 대한 C++ 서버에 연결하는 SSL 소켓을 수립 필요합니다 들었다 있습니다. 누구든지 PEM 파일을 읽고 연결하는 방법을 알고 있습니까? 나는 또한 parapharse 패스워드를 받았다.
See related question.PEM 파일을 사용하여 Java에서 SSL 소켓을 만드는 방법은 무엇입니까?
은 내가 PEM 파일이 나에게 제공과 일부 API 호출에 대한 C++ 서버에 연결하는 SSL 소켓을 수립 필요합니다 들었다 있습니다. 누구든지 PEM 파일을 읽고 연결하는 방법을 알고 있습니까? 나는 또한 parapharse 패스워드를 받았다.
PEM 파일이 서버에 로그인하는 데 사용할 클라이언트 인증서 인 것처럼 들립니다. 그것이 클라이언트 인증서이고 그것이있는 것처럼 들리면 연결을 설정하기 위해 서버 인증서의 유효성 검사에 사용할 ca 인증서 파일이 필요할 것입니다.
CA 인증서는 트러스트 스토어에 들어가야하며 클라이언트 인증서는 키 저장소에 들어 있어야합니다. Java에서는 이들 모두 JKS가됩니다 (PKCS12에 대한 지원이 제한되어 있음에도 불구하고). 각 사용자는 물론 JRE의 기본 키 저장소/신뢰 저장소 위치가 있습니다. 아래 예제와 같이 코드에서 이러한 파일의 외부 위치를 지정할 수도 있습니다. commons-ssl 라이브러리는 JKS가 필요없이 PEM을 직접 지원할 수있는 것으로 보이지만 사용하지는 않았습니다.
Java에서 이러한 키 저장소의 기본 암호는 따옴표없이 "changeit"입니다.
This page은 PEM을 키 저장소/트러스트 스토어로 읽어야한다는 것을 보여줍니다. 여기에 another example입니다. 당신이 당신의 신뢰 및 키 스토어가 제대로 설정 한 후
, 당신이 당신의 JVM에 다음 JSSE system properties 전달해야합니다
는javax.net.ssl.keyStore
javax.net.ssl.keyStoreType
javax.net.ssl.keyStorePassword
javax.net.ssl.trustStore
javax.net.ssl.trustStoreType
javax.net.ssl.trustStorePassword
당신은 예에서와 같이 JRE에 -D 매개 변수로 지정하거나 할 수있다 아래에, programatically.
일단 끝내면 commons-ssl example 소켓 만들기에 대해 이야기합니다. 또한 SSLSocket에 대한 Java API도 있습니다. Heres는 또한 아파치 공유지를 사용하지 않는 example입니다.
Ahmm .. nice answer -하지만 그는 실제로 자바가 아니라 C++에 대해 물었다. – Guss
실제로 그는 Java 및 JKS라는 태그를 붙였습니다.이 키는 Java KeyStore입니다. 그는 SSL 소켓을 사용하여 원격 서버에 연결하려고합니다. 다른 쪽 C++이 연결 메커니즘과 관련이 없다는 사실. –
SSL을 처리하는 라이브러리가 필요합니다. John Ellinwood가 언급했듯이 일부 프레임 워크 (예 : Java 2 SE)는 이러한 내장 기능을 제공하고 타사 라이브러리에는 타사 라이브러리를 사용해야합니다.
C 개발자는 종종 openssl을 직접 사용하지만 쉽게 이해할 수는 없으며 C++을 사용할 때 쉽게 떨어질 수있는 몇 가지 "잡아 당김"이 있습니다.
QT의 네트워크 라이브러리 또는 Poco NetSSL과 같이 SSL을 지원하는 C++ 네트워크 라이브러리를 사용하는 것이 좋습니다. API 설명서에 대한 자습서 설명서 and here은 here을 참조하십시오. 아마도 PEM 파일을 직접 가져 오는 initializeClient을보고 싶을 것입니다.
중복; 나는이 질문의 다른 버전이 더 유익하다고 생각한다. – erickson