HTTPBlackbox

Create or connect to existing HTTP / HTTPS servers

HTTPBlackbox
  • Supported Platforms

  • .NET.NET

    Pure managed and integrated components, carefully optimized to achieve maximum performance comparable to native processor code. The .NET edition can be used on .NET and Mono server and desktop platforms, in ASP.NET and Silverlight applications, and on mobile devices.

  • .NETJava

    Highly integrated Java security library including numerous classes to enable support for a wide range of application-level protocols, security algorithms, and standards. You can use Java security libraries to develop software for desktop and server platforms, mobile devices, and Web applications.

  • .NETC++

    A shared library (.dll on Windows and .so on Linux / macOS) and set of C++ classes. Used in C++ applications for Windows, Linux, macOS, and iOS platforms. Supported compilers include Visual C++, MinGW, gcc, and Xcode.

  • .NETVCL

    Highly integrated and blazingly fast native Delphi (Pascal) components for building native Windows, Linux, and macOS applications. All components are native Delphi, have no third-party binaries or references, and no reliance on Windows CryptoAPI. Also includes Delphi components for building Android and iOS apps.

  • .NETPHP

    Integrated components for PHP scripts running on Linux and Windows servers.

Overview

Use HTTPBlackbox to create their own HTTP or HTTPS servers (including proxy servers) and handle incoming HTTP/HTTPS connections. Components for client-side implementations are also included.

WebSocket and REST Support

HTMLBlackbox includes client and server-side implementations of the WebSocket protocol (RFC 6455). A flexible REST client is also included.

SSL/TLS and PKI for Strong Security

Unlike symmetric encryption, securing communications with SSL/TLS doesn't require that the sides know the shared secret (password/encryption key). Also, Public Key Security (PKI) lets each side examine authenticity of the other side and prevent man-in-the-middle attacks.

Generic SSL/TLS Transport Classes

The HTTP protocol is built on top of SSL/TLS, so all generic classes are included.

Easy to Implement and Maintain Security

The PKI infrastructure is a widely-used technology, so implementation and maintenance of SSL/TLS-based solutions with HTTPBlackbox are quite simple tasks.

No External Dependencies

HTTPBlackbox includes its own implementation of SSL/TLS/DTLS protocol family and doesn't include any external code like OpenSSL, OpenSSH etc.

Full Feature List

Client-side HTTP/HTTPS

  • HTTP 1.0 and HTTP 1.1 functionality including keep-alive requests, chunked encoding, and compression (the features required by HTTP 1.1)
  • Client-side HTTP over SSL (HTTPS)
  • REST client component
  • WebSocket (RFC 6455) client implementation that lets you connect to a WebSockets server
  • Custom commands support for easy implementation of various REST APIs
  • Easy to use and flexible cookie management via cookie manager class or via events handled by your application
  • Support for files over 4 GB
  • HTTP, SOCKS, and HTTP CONNECT (Web tunneling) proxies support to ensure maximum connectivity
  • Handling of "Windows Integrated" or NTLM authentication on both destination servers and proxy servers for internal company applications
  • Flexible redirection handling lets you avoid incorrect redirection configuration the server side
  • Easy to use data post capabilities with methods to post Web forms and binary data streams
  • Flexible support for client- and server-side SSL/TLS authentication during data exchange allows deploying the classes to custom PKI infrastructure
  • Built-in TCP socket
  • Support for application-provided low-level transport allows you to perform communication over any carrier and not just TCP sockets
  • Bandwidth control to avoid overloading of slow networks
  • IPv6 and International Domain Names (IDN) support for maximum network connectivity
  • Support for custom DNS servers and DNSSEC for even more security and network stability
  • Port knocking support for advanced security

Server-side HTTP/HTTPS

  • Server-side (create your own HTTP/HTTPS servers) support for HTTP and HTTP-over-SSL (HTTPS) protocols
  • Implementation of HTTP 1.0 and HTTP 1.1 (including chunked encoding and compression) versions of the protocol
  • WebSockets (RFC 6455) server implementation that lets you handle incoming WebSockets connections
  • Transparent interface to create HTTP and HTTPS (HTTP CONNECT, WebTunneling) proxies
  • Event-driven architecture lets you control all aspects of request processing
  • Support for files over 4 Gb
  • Custom commands support for easy implementation of various REST APIs
  • Partial (range) transfers for serving modern clients
  • Flexible support for client- and server-side SSL/TLS authentication during data exchange allows deploying the classes to custom PKI infrastructure.

SSL/TLS Protocol Implementation

  • Widest possible compatibility via support for modern TLS 1.2, TLS 1.1, TLS 1.0, SSL 3 and SSL 2
  • DTLS (Datagram TLS) protocol support lets you secure your UDP-based communications
  • Flexible client- and server-side SSL/TLS authentication support during handshake allows deploying the classes to custom PKI infrastructure
  • User-controlled validation of certificates lets you build custom PKI infrastructure or better control authentication in SSL/TLS
  • Built-in compression increases transfer speed and reduces network load
  • Optional resuming of TLS sessions in both client and server components. Both SSL sessions and TLS Stateless resumption are supported
  • Use of Cryptocards and USB Crypto Tokens for further protection of secret information (private and secret keys)
  • Authentication using OpenPGP keys and pre-shared keys (PSK) provides an alternative to PKI for in-house solutions
  • SRP (Secure Remote Password) cipher suites is another alternative to PKI for authentication
  • Standard and custom TLS extensions let you harness the power of TLS specification and include additional information to the handshake, if necessary
  • With raw asymmetric keys for authentication (instead of X.509 certificates) you can avoid the necessity to deploy PKI infrastructure where it is not needed (in closed environments) and decrease handshake time
  • Possibility to secure any data channels (and not just TCP or UDP sockets) lets you secure any communication channel with TLS or DTLS
  • OCSP stapling support lets you reduce load on certificate authorities' OCSP servers during certificate validation
  • Certificates with key length from 512 to 16384 bits give you enough security for today and tomorrow solutions
  • Support for RSA, DSA and DH public key algorithms and optional ECC-based cipher suites
  • Data encryption with Camellia, AES (128 to 256 bit), Triple DES (3DES), DES, ARCFOUR, and RC2 algorithms
  • Asynchronous operation mode lets you easily build synchronous and asynchronous applications