2016-07-15 3 views
0

나는 매일 서버에 데이터를 게시하는 http 작업을하고 있습니다. 서버가 내 장치에 데이터/요청을 보내지 않습니다 (HTTP 상태 제외). 나는 나를위한 연결 조각을하는 redpine 무선 모듈 RS9113을 사용한다. 이 통신을 https으로 설정하고 웹 서버에 이미 CA에서 발행 한 인증서가 있어야합니다.임베디드 시스템 클라이언트 - SSL 인증서

질문은 다음과 같습니다

  1. 내 임베디드 디바이스에서 POST를 수행 할 때, 나의 이해는 SSL 라이브러리가 서버 인증서의 유효성을 검사 할 것입니다. 내가 맞습니까?

  2. 클라이언트가 인증서를 필요로하지 않는다면 서버의 공개 키가 무선 모듈에 저장된다는 것을 의미합니까? (암호화는 매번 암호화에 사용됩니다)? 나는 이것이 적외선 무선 사람들에게 물어볼 필요가 있다고 생각하지만, 이것이 어떻게 작동하는지 일반적인 생각을 줄 수 있습니까?

  3. 이 설정에서 임베디드 장치에 인증서가 있어야합니까? 우리가 데이터의 부적합 구조를 플러시하는 식별자를 가지고 있기 때문에 누군가가 서버에 데이터를 POST하면 좋을 것입니다. 기기에 인증서가없고 POST로 설정 한 경우 데이터가 기기 - 서버에서 암호화되었음을 의미합니까?

보너스 질문 :이 설정에서 서버의 인증서가 갱신되면 데이터를 전송할 때 문제가 발생합니까?

답변

0

나는 레드 파인 무선 모듈을 알고, 그래서 내 임베디드 장치에서 POST를 수행 할 때 일반적으로

에서 SSL에 대한 의심의 해상도로이 응답을하지 않는 나의 이해는 그는 SSL 라이브러리 것입니다 서버 인증서의 유효성을 확인하십시오. 내가 맞습니까?

예, SSL 라이브러리는 인증서 발급자 (루트 CA) 또는 인증서 자체가 트러스트 스토어에 있는지 확인해야합니다. 트러스트 스토어에없는 자체 서명 된 인증서 또는 CA를 사용하는 경우 트러스트 스토어에 공개 키를 포함해야합니다.

클라이언트가 인증서를 필요로하지 않는다면 다음과 같은 공개 키를 의미합니까? 서버는 무선 모듈에 저장됩니다 (그리고 매번 암호화에 사용됩니다)?

두 가지는 관련이 없습니다. 트러스트를 설정하려면 무선 모듈에서 서버의 공용 키가 필요합니다. 양방향 인증을 사용하는 경우 클라이언트 인증서가 필요합니다. SSL 핸드 셰이크 중에 클라이언트 인증서가 제공되어 클라이언트를 서버에 인증합니다.

이 설정에서 내 인증서는 내 임베디드 장치에 있어야합니까?

POST 장치에 대한 우리의 경우에는 인증서가없는 경우 두 가지 방법으로 인증을

필요하지 않을 경우 데이터가 장치 서버에서 암호화됩니다 아니, 그것은 의미합니까?

클라이언트 인증서가 있으면 암호화에 사용되지 않습니다. 초기 핸드 셰이크 중에 인증하는 데 사용됩니다. 핸드 셰이크는 양쪽에서 통신을 암호화하고 해독하는 데 사용되는 대칭 키를 안정화합니다.

이 설정에서 서버의 인증서가 갱신되면 데이터를 전송할 때 문제가 발생합니까?

클라이언트 신뢰 저장소에있는 서버 인증서의 설정에 따라 다릅니다. 새 인증서가 같은 쪽에서 발급되면 루트 CA를 가져온 것으로 충분합니다. 자체 서명 된 인증서를 사용하는 경우 새로운 인증서를 가져와야합니다.

관련 문제