38 #include "NptConfig.h"    39 #include "NptStreams.h"    46 const NPT_Result NPT_ERROR_INVALID_PASSWORD                     = (NPT_ERROR_BASE_TLS-1);
    47 const NPT_Result NPT_ERROR_TLS_INVALID_HANDSHAKE                = (NPT_ERROR_BASE_TLS-2);
    48 const NPT_Result NPT_ERROR_TLS_INVALID_PROTOCOL_MESSAGE         = (NPT_ERROR_BASE_TLS-3);
    49 const NPT_Result NPT_ERROR_TLS_INVALID_HMAC                     = (NPT_ERROR_BASE_TLS-4);
    50 const NPT_Result NPT_ERROR_TLS_INVALID_VERSION                  = (NPT_ERROR_BASE_TLS-5);
    51 const NPT_Result NPT_ERROR_TLS_INVALID_SESSION                  = (NPT_ERROR_BASE_TLS-6);
    52 const NPT_Result NPT_ERROR_TLS_NO_CIPHER                        = (NPT_ERROR_BASE_TLS-7);
    53 const NPT_Result NPT_ERROR_TLS_BAD_CERTIFICATE                  = (NPT_ERROR_BASE_TLS-8);
    54 const NPT_Result NPT_ERROR_TLS_INVALID_KEY                      = (NPT_ERROR_BASE_TLS-9);
    55 const NPT_Result NPT_ERROR_TLS_NO_CLIENT_RENEGOTIATION          = (NPT_ERROR_BASE_TLS-10);
    56 const NPT_Result NPT_ERROR_TLS_INVALID_FINISHED_MESSAGE         = (NPT_ERROR_BASE_TLS-11);
    57 const NPT_Result NPT_ERROR_TLS_NO_CERTIFICATE_DEFINED           = (NPT_ERROR_BASE_TLS-12);
    58 const NPT_Result NPT_ERROR_TLS_ALERT_HANDSHAKE_FAILED           = (NPT_ERROR_BASE_TLS-13); 
    59 const NPT_Result NPT_ERROR_TLS_ALERT_BAD_CERTIFICATE            = (NPT_ERROR_BASE_TLS-14);
    60 const NPT_Result NPT_ERROR_TLS_ALERT_INVALID_VERSION            = (NPT_ERROR_BASE_TLS-15);
    61 const NPT_Result NPT_ERROR_TLS_ALERT_BAD_RECORD_MAC             = (NPT_ERROR_BASE_TLS-16);
    62 const NPT_Result NPT_ERROR_TLS_ALERT_DECODE_ERROR               = (NPT_ERROR_BASE_TLS-17);
    63 const NPT_Result NPT_ERROR_TLS_ALERT_DECRYPT_ERROR              = (NPT_ERROR_BASE_TLS-18);
    64 const NPT_Result NPT_ERROR_TLS_ALERT_ILLEGAL_PARAMETER          = (NPT_ERROR_BASE_TLS-19);
    65 const NPT_Result NPT_ERROR_TLS_ALERT_UNEXPECTED_MESSAGE         = (NPT_ERROR_BASE_TLS-20);
    66 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_FAILURE              = (NPT_ERROR_BASE_TLS-21);
    67 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_NO_TRUST_ANCHOR      = (NPT_ERROR_BASE_TLS-22);
    68 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_BAD_SIGNATURE        = (NPT_ERROR_BASE_TLS-23);      
    69 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_NOT_YET_VALID        = (NPT_ERROR_BASE_TLS-24);
    70 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_EXPIRED              = (NPT_ERROR_BASE_TLS-25);
    71 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_SELF_SIGNED          = (NPT_ERROR_BASE_TLS-26);
    72 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_INVALID_CHAIN        = (NPT_ERROR_BASE_TLS-27);
    73 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_UNSUPPORTED_DIGEST   = (NPT_ERROR_BASE_TLS-28);
    74 const NPT_Result NPT_ERROR_TLS_CERTIFICATE_INVALID_PRIVATE_KEY  = (NPT_ERROR_BASE_TLS-29);
    75 const NPT_Result NPT_ERROR_TLS_DNS_NAME_MISMATCH                = (NPT_ERROR_BASE_TLS-30);
    80 const unsigned int NPT_TLS_NULL_WITH_NULL_NULL      = 0x00;
    81 const unsigned int NPT_TLS_RSA_WITH_RC4_128_MD5     = 0x04;
    82 const unsigned int NPT_TLS_RSA_WITH_RC4_128_SHA     = 0x05;
    83 const unsigned int NPT_TLS_RSA_WITH_AES_128_CBC_SHA = 0x2F;
    84 const unsigned int NPT_TLS_RSA_WITH_AES_256_CBC_SHA = 0x35;
    89 class NPT_TlsContextImpl;
    90 class NPT_TlsSessionImpl;
    96     NPT_TLS_KEY_FORMAT_RSA_PRIVATE,
    97     NPT_TLS_KEY_FORMAT_PKCS8,
    98     NPT_TLS_KEY_FORMAT_PKCS12
   102     const unsigned char* cert_data;
   103     unsigned int         cert_size;
   113     static bool MatchDnsNames(
const char*                 hostname,
   115     static bool MatchDnsName(
const char* hostname, 
const char* dns_name);
   128         OPTION_VERIFY_LATER               = 1,
   129         OPTION_REQUIRE_CLIENT_CERTIFICATE = 2,
   130         OPTION_ADD_DEFAULT_TRUST_ANCHORS  = 4,
   131         OPTION_NO_SESSION_CACHE           = 8
   137     NPT_Result LoadKey(NPT_TlsKeyFormat     key_format, 
   138                        const unsigned char* key_data,
   139                        NPT_Size             key_data_size,
   140                        const char*          password);
   142     NPT_Result SelfSignCertificate(
const char* common_name,
   143                                    const char* organization,
   144                                    const char* organizational_name);
   149     NPT_Result AddTrustAnchor(
const unsigned char* ta_data,
   150                               NPT_Size             ta_data_size);
   159                                NPT_Cardinal                  anchor_count = 0);
   162     NPT_TlsContextImpl* m_Impl;
   186         unsigned char sha1[20];
   187         unsigned char md5[16];
   201     virtual NPT_Result Handshake();
   202     virtual NPT_Result GetHandshakeStatus();
   204     virtual NPT_Result VerifyPeerCertificate();
   205     virtual NPT_Result VerifyDnsNameMatch(
const char* hostname);
   207     virtual NPT_UInt32 GetCipherSuiteId();
   213                    NPT_TlsSessionImpl* impl);
   246 #if defined(NPT_CONFIG_ENABLE_TLS)   251         OPTION_ACCEPT_SELF_SIGNED_CERTS = 1,
   252         OPTION_ACCEPT_HOSTNAME_MISMATCH = 2
   265                                   const char*           hostname);
   299 #if defined(NPT_CONFIG_ENABLE_TLS)   300 #include "NptTlsDefaultTrustAnchorsBase.h"   301 #include "NptTlsDefaultTrustAnchorsExtended.h"   304 #endif // _NPT_TLS_H_ Definition: NptAutomaticCleaner.h:46
Definition: NptHttp.h:126
Definition: NptHttp.h:345
Definition: NptDataBuffer.h:44
Definition: NptHttp.h:386
Definition: NptHttp.h:402
Definition: NptTime.h:116
Definition: NptHttp.h:414
Definition: NptStrings.h:57