Client and Server HTTP and HTTPS C++ Libraries
Build HTTP/HTTPS compliant clients and Web servers with ready-made HTTP classes.
HTTPBlackbox includes client-side and server-side HTTP and HTTPS C++ classes, enables developers implement HTTP and HTTPS protocols in just minutes. With HTTP/HTTPS classes, you can build anything from Web browsers and download managers to fully featured hosted Web servers.
Download HTTP and HTTPS Classes for C++The HTTPBlackbox package is an integral part of SecureBlackbox. Download SecureBlackbox (C++ edition) to implement HTTP and HTTPS protocols in client and server applications.
Plain and Secure HTTP SupportThe HTTP protocol is the oldest and the most popular industry standard for exchanging information over the Web. HTTPS extends the HTTP protocol by adding a security layer, allowing information to be transferred in a secure manner. HTTPS communications run on top of SSL/TLS protocols. HTTPBlackbox includes both HTTP and HTTPS classes in client and server versions.
Why Choose HTTPBlackbox over Competing HTTP/HTTPS Libraries
- Build HTTP/HTTPS clients and servers;
- Implement comprehensive HTTP/HTTPS functionality in a matter of minutes;
- Industry-standard implementation (RFC 1945 and 2068) enables seamless connectivity among your and third-party clients and servers;
- Complete control over HTTP headers;
- Built-in GZip compression reduces bandwidth requirements and speeds up transfers;
- HTTP/HTTPS library supports partial and resumed HTTP transfers without storing the complete file in the file cache;
- HTTPS classes do not use Windows CryptoAPI, which makes them compatible with all the latest versions and features of SSL / TLS protocols including AES and Camellia Cipher Suites, TLS extensions, and more;
- Extensive knowledge databases and individual support options are available to help you with the development of your project since the moment you download the free evaluation version.
Download SecureBlackbox (C++ edition), an all-in-one security toolbox that includes HTTP and HTTPS classes for your C++ applications.Compression gives an additional level of security and lets you increase transfer speed significantly and reduce the network load and storage space requirements.
Synchronous operation mode gives you a linear programming approach without complicated callback functions. This approach saves your development time and reduces the number of errors.
Asynchronous operation mode, on the other hand, gives you flexibility and complete control over your application communications.Synchronous operation mode gives you a linear programming approach without complicated callback functions. This approach saves your development time and reduces the number of errors. Simple SecureBlackbox components can be used for reliable data transfer no matter what type of proxy or firewall is used to protect the network.
HTTPS proxy access includes support for Basic, Digest and Windows Integrated (NTLM) authentication mechanisms. You can process huge files and not be bound by restrictions of 32-bit environments. This feature works on both 32-bit and 64-bit systems without any limitations. To limit and control network load and bandwidth consumption you can setup maximum upload and download speed for the data transfer components. Transport (SSL, FTP, HTTP, SMTP, POP3, IMAP, WebDAV, LDAP, SSH, SFTP) components can be used in IPv6 networks without any problems, address conversions or packet wrapping. Transport (SSL, FTP, HTTP, SMTP, POP3, IMAP, WebDAV, LDAP, SSH, SFTP) components understand and make use of non-latin domain names (so-called International Domain Names, IDN). In FIPS operation mode SecureBlackbox uses only certified CryptoAPI modules of Windows to perform any cryptographic operations.
FIPS mode is available only on Windows platform. Virtual File System adapters let SecureBlackbox components, which operate with files, work with various backend file storages and not just with "physical" disk.
For example, in WebDAV, SFTP, HTTP(S) and FTP(S) servers you can provide a personal storage space for each connected user.
Out of the box file system adapter and SolFS virtual file system adapter are included and you can easily create your own adapter. With DNSSEC support enabled you protect your socket connection from being fooled by possible DNS cache poisoning and other malicious DNS activities.
DNSSEC requires that the DNS record for the destination server contains a certified signature. Distributed Crypto modules let web site visitors use certificates accessible only on the client system to sign the data, stored on the server (no need to download this data).
This is done with help of client-side modules (Java applet, ActiveX control, Flash applet), embedded into the web page. Cryptographic hardware gains more and more popularity every day. If your software deals with X.509 certificates or PKI in general (RSA keys etc.), it is time to support cryptocards and USB tokens.
To use cryptographic hardware you need a license for PKIBlackbox. SecureBlackbox was written from the ground up by EldoS developers. It doesn't use third-party code to implement its cryptographic functions. This means that you are not bound by CryptoAPI or OpenSSL version when you need to use certain algorithm.
At the same time it's possible to plug third-party security libraries and hardware modules by utilizing the pluggable architecture of SecureBlackbox. No royalties means the licensing procedure which is clear and easy to understand and manage. Pay for the license once and use it for development and deployment with no other payments. We provide free technical support via web-based Forum and HelpDesk. Support is available for everyone, and the requests from clients who purchased a license are given priority. Also you can use our extensive knowledgebase. With SSLBlackbox you get not just SSL support, but also feature-rich components for PKI support. This includes management of X.509 certificates, certificate requests and CRLs, PKI-based data encryption and signing operations, digital timestamping and more. With the wide choice of encryption, authentication and key exchange algorithms supported by SSLBlackbox, you will be able to meet the security requirements and get compatibility with the wide choice of differently configured servers and clients. With SSLBlackbox you can secure not just common TCP communications, but also UDP-based data transfer or other message-based transfer protocols. This lets you secure the whole new class of communications, such as audio and video delivery over internet, various message-based distributed protocols etc. The widest possible protocol support lets you get all that you can from SSL / TLS and that your software is compatible with the widest choice of client and server software. SSL session resumption speeds up subsequent session initiation and reduces server and network load. Resumption is supported by many SSL / TLS clients and servers. Validation of the other party's certificate is usually much more than just verifying the cryptographic signature. Correct validation includes verification of validity of the certificate and all of its issuer certficates, sometimes using CRLs (certificate revocation lists) and requests to the issuer servers using OCSP protocol. With SSLBlackbox you can build your own verification procedures easily. Usually only the server is authenticated during SSL / TLS handshake. But the situations when the client needs to authenticate itself using X.509 certificate become more and more often. Unfortunately most SSL/TLS and HTTPS or FTPS components don't provide support for client-side authentication.
SSLBlackbox provides full support for client-side certificate authentication in its server-side and client-side components.Cryptographic hardware gains more and more popularity every day. If your software deals with X.509 certificates or PKI in general (RSA keys etc.), it is time to support cryptocards and USB tokens. Most SSL/TLS and HTTPS or FTPS components can't use the certificate with a private key stored on a cryptocard or USB token.
SSLBlackbox is fully capable to use the cryptographic hardware (which doesn't export the private key) for SSL authentication of both clients and servers.To use cryptographic hardware you need a license for PKIBlackbox. Originally SSL protocol used X.509 certificate for authenticating servers and clients. This type of authentication remains the most popular now. However various security needs and hardware limitations caused introduction of the alternative authentication methods. They are pre-shared key authentication (it can be named "password-based") and OpenPGP-based authentication (using OpenPGP keys instead of X.509 certificates).
Each of the alternative authentication methods has its own strengths and usage scenarios. SSLBlackbox provides full support for these new authentication methods.TLS extensions are used to extend functionality of the TLS communication, transfer additional information and provide better service to the parties. SSL / TLS protocol offers the number of very useful features, which don't actually require TCP transport. The protocol can be used with any low-level transport protocols, and SecureBlackbox makes this possible. SSLBlackbox supports the keys of any length, used in modern computing. If you need more strength, you can generate and use 4096-bit keys without problems. SSLBlackbox supports algorithms based on Elliptic Curve Cryptography. These algorithms provide higher security level, than more traditional Diffie-Helman and DSA algorithms. Application-level protocols, such as HTTP, FTP and SMTP, can work in two modes - explicit and implicit. In implicit mode first SSL connection is established, then protocol connection is carried over the protected channel. In explicit mode the TLS connection parameters are negotiated using the command on the protocol level.
SSLBlackbox supports implicit and explicit modes in FTP and SMTP client components. This lets you connect to greater number of servers which use SSL/TLS.NTLM authentication (also named "Windows Authenticated") is often used in corporate environments and Intranet. Not all software supports this type of authentication. SSLBlackbox supports NTLM authentication in its HTTP protocol implementation. In some cases it is necessary to send a custom command, not defined in HTTP protocol specification, but supported by the server. With SSLBlackbox this is possible to do.