문제

나는 가짜 CA를 만들고 스턴 넬과 함께 사용하기 위해 인증서에 서명하려고 노력하고 있습니다 (OpenSSL 루틴을 호출하는 것처럼 보이므로 도움이되는 프로그램을 알 필요가 없을 것입니다 :). 그러나 Stunnel은 인증서가 올바른 키로 서명되지 않았다는 인증서를 계속 거부합니다!

이것이 내가 OpenSSL로 키와 세기를 생성하는 방법입니다.

openssl genrsa -out ca_key.pem 1024

openssl req -config ./root2.cfg -new -sha1 -x509 -key ca_key.pem -out ca_cert.pem -subj "/CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software"

openssl genrsa -out MPS_key.pem 1024

openssl req -config ./MPS2.cfg -new -sha1 -key MPS_key.pem -out MPS_cert_req.pem -subj "/CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software"

openssl x509 -req -in MPS_cert_req.pem -signkey ca_key.pem -out MPS_cert.pem -extensions MPS_ext

그런 다음 내 stunnel.conf에는 다음이 항목이 있습니다.

CAfile = ca_cert.pem
key = MPS_key.pem
cert = MPS_cert.pem

Stunnel을 시작하려고 할 때 일반 OpenSSL "키 없음 인증서"오류가 발생합니다.

2009.09.09 16:36:04 LOG3[492:172]: SSL_CTX_use_RSAPrivateKey_file: B080074: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

파일을 생성 할 때 뭔가 잘못 했습니까?

도움이 되었습니까?

해결책

설정 한 내용을 요약하겠습니다.

  1. 자체 서명 된 "CA"인증서가 있습니다.
  2. 자체 서명 된 MPS_CERT가 있습니다.
  3. CA 키를 사용하여 MPS_CERT에 서명했습니다.

OpenSSL의 X509 명령에 대한 참조를 읽는 경우 (http://openssl.org/docs/apps/x509.html) -signkey 매개 변수가 제공된 개인 키와 함께 제공된 인증서를 자체 서명하도록 OpensSL을 엽니다는 것을 알 수 있습니다. 이것은 ~ 아니다 당신이 원하는 것.

당신이하고 싶은 것은 자체 서명 된 CA를 만들고이를 사용하여 CSR에 서명하고 유효한 인증서를 생성하는 것입니다.

openssl verify ca_cert.pem
ca_cert.pem: /CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software
error 18 at 0 depth lookup:self signed certificate
OK

openssl verify MPS_cert.pem
MPS_cert.pem: /CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software
error 18 at 0 depth lookup:self signed certificate
OK

관련 옵션은 -ca, -cakey 및 -set_serial입니다.

openssl x509 -CA ca_cert.pem -CAkey ca_key.pem -set_serial 1 -req -in MPS_cert_req.pem -out MPS_cert2.pem -days 365

이로 인해 CA가 서명 한 인증서가 자체 서명되어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top