Commit 8489a9ba4dd58404b3a22ad7676695ac85e70255
1 parent
efa4ab24
Exists in
master
and in
5 other branches
Incluindo opção de configuração para não aceitar conexões em hosts
que apresentarem certificados SSL auto assinados.
Showing
3 changed files
with
25 additions
and
0 deletions
Show diff stats
configure.ac
... | ... | @@ -321,6 +321,23 @@ if test $app_cv_fvisibility_ok = yes; then |
321 | 321 | fi |
322 | 322 | |
323 | 323 | dnl --------------------------------------------------------------------------- |
324 | +dnl Allow self signed certificates in SSL connections? | |
325 | +dnl --------------------------------------------------------------------------- | |
326 | + | |
327 | +AC_ARG_ENABLE([self-signed-certs], | |
328 | + [AS_HELP_STRING([--disable-self-signed-certs], [disable SSL connection when host presents a self signed certificate])], | |
329 | +[ | |
330 | + app_cv_self_signed_certs="$enableval" | |
331 | +],[ | |
332 | + app_cv_self_signed_certs="yes" | |
333 | +]) | |
334 | + | |
335 | +if test "$app_cv_self_signed_certs" == "yes"; then | |
336 | + AC_DEFINE(ENABLE_SELF_SIGNED_CERT) | |
337 | +fi | |
338 | + | |
339 | + | |
340 | +dnl --------------------------------------------------------------------------- | |
324 | 341 | dnl Check for pic |
325 | 342 | dnl --------------------------------------------------------------------------- |
326 | 343 | AC_ARG_ENABLE([pic], | ... | ... |
src/include/config.h.in
src/lib3270/ssl.c
... | ... | @@ -136,7 +136,13 @@ int ssl_negotiate(H3270 *hSession) |
136 | 136 | case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: |
137 | 137 | peer = SSL_get_peer_certificate(hSession->ssl_con); |
138 | 138 | trace_dsn(hSession,"%s","TLS/SSL negotiated connection complete with self signed certificate in certificate chain\n" ); |
139 | + | |
140 | +#ifdef ENABLE_SELF_SIGNED_CERT | |
139 | 141 | break; |
142 | +#else | |
143 | + lib3270_disconnect(hSession); | |
144 | + return -1; | |
145 | +#endif // ENABLE_SELF_SIGNED_CERT | |
140 | 146 | |
141 | 147 | default: |
142 | 148 | trace_dsn(hSession,"Unexpected or invalid TLS/SSL verify result %d\n",rv); | ... | ... |