⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qsslsocket_openssl_symbols.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    QLibrary libeay32(QLatin1String("libeay32"));    if (!libeay32.load()) {        // Cannot find libeay32.dll        qWarning("QSslSocket: cannot find libeay32 library: %s.",                 qPrintable(libeay32.errorString()));        return false;    }#else    QLibrary libssl(QLatin1String("ssl"));    if (!libssl.load()) {        // Cannot find libssl        qWarning("QSslSocket: cannot find ssl library: %s.",                 qPrintable(libssl.errorString()));        return false;    }    QLibrary libcrypto(QLatin1String("crypto"));    if (!libcrypto.load()) {        // Cannot find libcrypto        qWarning("QSslSocket: cannot find crypto library: %s.",                 qPrintable(libcrypto.errorString()));        return false;    }#endif#ifdef SSLEAY_MACROS    RESOLVEFUNC(ASN1_dup)#endif    RESOLVEFUNC(ASN1_STRING_data)    RESOLVEFUNC(ASN1_STRING_length)    RESOLVEFUNC(BIO_ctrl)    RESOLVEFUNC(BIO_free)    RESOLVEFUNC(BIO_new)    RESOLVEFUNC(BIO_new_mem_buf)    RESOLVEFUNC(BIO_read)    RESOLVEFUNC(BIO_s_mem)    RESOLVEFUNC(BIO_write)    RESOLVEFUNC(BN_num_bits)    RESOLVEFUNC(CRYPTO_free)    RESOLVEFUNC(CRYPTO_num_locks)    RESOLVEFUNC(CRYPTO_set_id_callback)    RESOLVEFUNC(CRYPTO_set_locking_callback)    RESOLVEFUNC(DSA_free)    RESOLVEFUNC(ERR_error_string)    RESOLVEFUNC(ERR_get_error)    RESOLVEFUNC(EVP_des_ede3_cbc)    RESOLVEFUNC(EVP_PKEY_assign)    RESOLVEFUNC(EVP_PKEY_free)    RESOLVEFUNC(EVP_PKEY_get1_DSA)    RESOLVEFUNC(EVP_PKEY_get1_RSA)    RESOLVEFUNC(EVP_PKEY_new)    RESOLVEFUNC(EVP_PKEY_type)    RESOLVEFUNC(OBJ_nid2sn)    RESOLVEFUNC(OBJ_obj2nid)#ifdef SSLEAY_MACROS // ### verify    RESOLVEFUNC(PEM_ASN1_read_bio)#else    RESOLVEFUNC(PEM_read_bio_DSAPrivateKey)    RESOLVEFUNC(PEM_read_bio_RSAPrivateKey)    RESOLVEFUNC(PEM_write_bio_DSAPrivateKey)    RESOLVEFUNC(PEM_write_bio_RSAPrivateKey)#endif    RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY)    RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY)    RESOLVEFUNC(PEM_write_bio_DSA_PUBKEY)    RESOLVEFUNC(PEM_write_bio_RSA_PUBKEY)    RESOLVEFUNC(RAND_seed)    RESOLVEFUNC(RAND_status)    RESOLVEFUNC(RSA_free)    RESOLVEFUNC(sk_free)    RESOLVEFUNC(sk_num)    RESOLVEFUNC(sk_value)    RESOLVEFUNC(SSL_CIPHER_description)    RESOLVEFUNC(SSL_CTX_check_private_key)    RESOLVEFUNC(SSL_CTX_ctrl)    RESOLVEFUNC(SSL_CTX_free)    RESOLVEFUNC(SSL_CTX_new)    RESOLVEFUNC(SSL_CTX_set_cipher_list)    RESOLVEFUNC(SSL_CTX_set_default_verify_paths)    RESOLVEFUNC(SSL_CTX_use_certificate)    RESOLVEFUNC(SSL_CTX_use_certificate_file)    RESOLVEFUNC(SSL_CTX_use_PrivateKey)    RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)    RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)    RESOLVEFUNC(SSL_accept)    RESOLVEFUNC(SSL_clear)    RESOLVEFUNC(SSL_connect)    RESOLVEFUNC(SSL_free)    RESOLVEFUNC(SSL_get_ciphers)    RESOLVEFUNC(SSL_get_current_cipher)    RESOLVEFUNC(SSL_get_error)    RESOLVEFUNC(SSL_get_peer_cert_chain)    RESOLVEFUNC(SSL_get_peer_certificate)    RESOLVEFUNC(SSL_get_verify_result)    RESOLVEFUNC(SSL_library_init)    RESOLVEFUNC(SSL_load_error_strings)    RESOLVEFUNC(SSL_new)    RESOLVEFUNC(SSL_read)    RESOLVEFUNC(SSL_set_accept_state)    RESOLVEFUNC(SSL_set_bio)    RESOLVEFUNC(SSL_set_connect_state)    RESOLVEFUNC(SSL_shutdown)    RESOLVEFUNC(SSL_write)    RESOLVEFUNC(SSLv2_client_method)    RESOLVEFUNC(SSLv3_client_method)    RESOLVEFUNC(SSLv23_client_method)    RESOLVEFUNC(TLSv1_client_method)    RESOLVEFUNC(SSLv2_server_method)    RESOLVEFUNC(SSLv3_server_method)    RESOLVEFUNC(SSLv23_server_method)    RESOLVEFUNC(TLSv1_server_method)    RESOLVEFUNC(X509_NAME_oneline)    RESOLVEFUNC(X509_PUBKEY_get)    RESOLVEFUNC(X509_STORE_free)    RESOLVEFUNC(X509_STORE_new)    RESOLVEFUNC(X509_STORE_add_cert)    RESOLVEFUNC(X509_STORE_CTX_free)    RESOLVEFUNC(X509_STORE_CTX_init)    RESOLVEFUNC(X509_STORE_CTX_new)    RESOLVEFUNC(X509_STORE_CTX_set_purpose)    RESOLVEFUNC(X509_cmp)#ifndef SSLEAY_MACROS    RESOLVEFUNC(X509_dup)#endif    RESOLVEFUNC(X509_EXTENSION_get_object)    RESOLVEFUNC(X509_free)    RESOLVEFUNC(X509_get_ext)    RESOLVEFUNC(X509_get_ext_count)    RESOLVEFUNC(X509_get_ext_d2i)    RESOLVEFUNC(X509_get_issuer_name)    RESOLVEFUNC(X509_get_subject_name)    RESOLVEFUNC(X509_verify_cert)    RESOLVEFUNC(d2i_X509)    RESOLVEFUNC(i2d_X509)#ifdef SSLEAY_MACROS    RESOLVEFUNC(i2d_DSAPrivateKey)    RESOLVEFUNC(i2d_RSAPrivateKey)    RESOLVEFUNC(d2i_DSAPrivateKey)    RESOLVEFUNC(d2i_RSAPrivateKey)#endif    symbolsResolved = true;    return true;}#endif // QT_NO_LIBRARY#elsebool q_resolveOpenSslSymbols(){#ifdef QT_NO_SSL    return false;#endif    return true;}#endif//==============================================================================// contributed by Jay Case of Sarvega, Inc.; http://sarvega.com/// Based on X509_cmp_time() for intitial buffer hacking.//==============================================================================time_t q_getTimeFromASN1(const ASN1_TIME *aTime){    time_t lResult = 0;    char lBuffer[24];    char *pBuffer = lBuffer;    size_t lTimeLength = aTime->length;    char *pString = (char *) aTime->data;    if (aTime->type == V_ASN1_UTCTIME) {        if ((lTimeLength < 11) || (lTimeLength > 17))            return 0;        memcpy(pBuffer, pString, 10);        pBuffer += 10;        pString += 10;    } else {        if (lTimeLength < 13)            return 0;        memcpy(pBuffer, pString, 12);        pBuffer += 12;        pString += 12;    }    if ((*pString == 'Z') || (*pString == '-') || (*pString == '+')) {        *pBuffer++ = '0';        *pBuffer++ = '0';    } else {        *pBuffer++ = *pString++;        *pBuffer++ = *pString++;        // Skip any fractional seconds...        if (*pString == '.') {            pString++;            while ((*pString >= '0') && (*pString <= '9'))                pString++;        }    }    *pBuffer++ = 'Z';    *pBuffer++ = '\0';    time_t lSecondsFromUCT;    if (*pString == 'Z') {        lSecondsFromUCT = 0;    } else {        if ((*pString != '+') && (pString[5] != '-'))            return 0;        lSecondsFromUCT = ((pString[1] - '0') * 10 + (pString[2] - '0')) * 60;        lSecondsFromUCT += (pString[3] - '0') * 10 + (pString[4] - '0');        if (*pString == '-')            lSecondsFromUCT = -lSecondsFromUCT;    }    tm lTime;    lTime.tm_sec = ((lBuffer[10] - '0') * 10) + (lBuffer[11] - '0');    lTime.tm_min = ((lBuffer[8] - '0') * 10) + (lBuffer[9] - '0');    lTime.tm_hour = ((lBuffer[6] - '0') * 10) + (lBuffer[7] - '0');    lTime.tm_mday = ((lBuffer[4] - '0') * 10) + (lBuffer[5] - '0');    lTime.tm_mon = (((lBuffer[2] - '0') * 10) + (lBuffer[3] - '0')) - 1;    lTime.tm_year = ((lBuffer[0] - '0') * 10) + (lBuffer[1] - '0');    if (lTime.tm_year < 50)        lTime.tm_year += 100; // RFC 2459    lTime.tm_wday = 0;    lTime.tm_yday = 0;    lTime.tm_isdst = 0;  // No DST adjustment requested    lResult = mktime(&lTime);    if ((time_t)-1 != lResult) {        if (0 != lTime.tm_isdst)            lResult -= 3600;  // mktime may adjust for DST  (OS dependent)        lResult += lSecondsFromUCT;    } else {        lResult = 0;    }    return lResult;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -