summaryrefslogtreecommitdiff
path: root/ACE/protocols/ace/INet/SSL_CertificateCallback.cpp
blob: e1a4b0bce2eacf78b2bb025fff703c8e8efd9a20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// $Id$

#include "ace/INet/SSL_CertificateCallback.h"

#if !defined (__ACE_INLINE__)
#include "ace/INet/SSL_CertificateCallback.inl"
#endif

#include "ace/Log_Msg.h"
#include "ace/INet/INet_Log.h"

ACE_BEGIN_VERSIONED_NAMESPACE_DECL

namespace ACE
{
  namespace INet
  {

    SSL_CertificateCallbackArg::SSL_CertificateCallbackArg (const ACE_SSL_Context* ssl_ctx,
                                                            ::X509_STORE_CTX* cert_ctx)
      : ssl_ctx_ (ssl_ctx),
        err_depth_ (0),
        err_code_ (0),
        ignore_err_ (false)
      {
        this->ssl_cert_ = ::X509_STORE_CTX_get_current_cert (cert_ctx);
        this->err_depth_ = ::X509_STORE_CTX_get_error_depth (cert_ctx);
        this->err_code_ = ::X509_STORE_CTX_get_error (cert_ctx);
      }

    SSL_CertificateCallbackArg::~SSL_CertificateCallbackArg ()
      {
      }

    SSL_CertificateCallback::SSL_CertificateCallback ()
      {
      }

    SSL_CertificateCallback::~SSL_CertificateCallback ()
      {
      }

    SSL_CertificateAcceptor::SSL_CertificateAcceptor ()
      {
      }

    SSL_CertificateAcceptor::~SSL_CertificateAcceptor ()
      {
      }

    void SSL_CertificateAcceptor::handle_certificate_failure (SSL_CertificateCallbackArg& arg)
      {
        INET_DEBUG (3, (LM_INFO, DLINFO
                        ACE_TEXT ("SSL_CertificateAcceptor::handle_certificate_failure - ")
                        ACE_TEXT ("ignored certificate verification error: %C\n"),
                        arg.error_message ().c_str ()));
        arg.ignore_error (true);
      }
  }
}

ACE_END_VERSIONED_NAMESPACE_DECL