- Apache HttpClient Tutorial
- Apache HttpClient Resources
- Selected Reading
Basic Configuration Example. Your SSL configuration will need to contain, at minimum, the following directives. LoadModule sslmodule modules/modssl.so Listen 443 ServerName www.example.com SSLEngine on SSLCertificateFile '/path/to/www.example.com.cert' SSLCertificateKeyFile '/path/to/www.example.com.key'. Searched for apache redirect http to https and landed here. This is what i did on ubuntu: 1) Enable modules sudo a2enmod rewrite sudo a2enmod ssl 2) Edit your site config. Note that the SSL module requires certificate. You will need to specify existing one (if you bought one) or to generate a self-signed certificate by yourself. Once you’ve installed your SSL/TLS certificate on Apache, it’s a good idea to redirect all incoming HTTP traffic to the secure HTTPS protocol. This way any existing links to your site beginning with as well as all URLs typed by users into their browser’s address bar, will receive the HTTPS version of your website.
Using Secure Socket Layer, you can establish a secured connection between the client andserver. It helps to safeguard sensitive information such as credit card numbers, usernames, passwords, pins, etc.
- Configuring SSL on Apache Web Server Manually. Smsps uses the OpenSSL cryptography toolkit that implements the SSL v2/v3 and Transport Layer Security (TLS v1) network protocols and related cryptography standards. The OpenSSL toolkit includes the openssl command line tool for.
- On it its declared the needed dependencies, that is httpclient and httpcore. I'm using versions 4.5.3 and 4.4.6 respectively. Although imported correctly all (I mean), I got this error on execution time: Caused by: java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy 25.06 19:59:12 Server INFO at com.b5team.postrequest.Main.onCommand.
Apache Httpd Ssl Cipher Suite
You can make connections more secure by creating your own SSL context using the HttpClient library.
Apache Http Sslcontextbuilder
Follow the steps given below to customize SSLContext using HttpClient library −
Step 1 - Create SSLContextBuilder object
SSLContextBuilder is the builder for the SSLContext objects. Create its object using the custom() method of the SSLContexts class.
Step 2 - Load the Keystore
In the path Java_home_directory/jre/lib/security/, you can find a file named cacerts. Save this as your key store file (with extension .jks). Load the keystore file and, its password (which is changeit by default) using the loadTrustMaterial() method of the SSLContextBuilder class.
Step 3 - build an SSLContext object
An SSLContext object represents a secure socket protocol implementation. Build an SSLContext using the build() method.
Step 4 - Creating SSLConnectionSocketFactory object
SSLConnectionSocketFactory is a layered socket factory for TSL and SSL connections. Using this, you can verify the Https server using a list of trusted certificates and authenticate the given Https server.
You can create this in many ways. Depending on the way you create an SSLConnectionSocketFactory object, you can allow all hosts, allow only self-signedcertificates, allow only particular protocols, etc.
To allow only particular protocols, create SSLConnectionSocketFactory object by passing an SSLContext object, string array representing the protocols need to be supported, string array representing the cipher suits need to be supported and a HostnameVerifier object to its constructor.
Apache Add Ssl
To allow all hosts, create SSLConnectionSocketFactory object by passing a SSLContext object and a NoopHostnameVerifier object.
Step 5 - Create an HttpClientBuilder object
Create an HttpClientBuilder object using the custom() method of the HttpClients class.
Step 6 - Set the SSLConnectionSocketFactory object
Set the SSLConnectionSocketFactory object to the HttpClientBuilder using the setSSLSocketFactory() method.
Step 7 - Build the CloseableHttpClient object
Build the CloseableHttpClient object by calling the build() method.
Step 8 - Create an HttpGet object
The HttpGet class represents the HTTP GET request which retrieves the information ofthe given server using a URI.
Create a HTTP GET request by instantiating the HttpGet class by passing a string representing the URI.
Step 9 - Execute the request
Execute the request using the execute() method.
Example
Following example demonstrates the customization of the SSLContrext −
Output
On executing, the above program generates the following output.
This appendix describes the method of enabling SSL for Apache. The following topics guide you through the necessary steps:
- Generate the Certification Request
- Modify httpd.conf File to Enable SSL
Generate the Certification Request
Perform the following steps to generate a certificate request:

- Make the following changes to the
openssl.cnf
file to generate the certificate request:Use the commands below to generate the certification request:
When you run the final command, a certificate request is generated. The following is an example of a certification request:
Please enter the following 'extra' attributes to be sent with your certification request:
Be sure to take note of the following:
- These commands create two files:
key.pem
andcsr.pem
(certificate request). - For Common Name, include the FULL name of the HOST and DOMAIN you are running the command on.
- Remember the password you enter. This password is used every time Oracle HTTP Server is started.
- These commands create two files:
- Send the Certification Request. In the CSR area, paste the certification request from
csr.pem
file. - When you receive the certificate, paste it into a file named
portalcert.crt
.Be sure that you get the Root Trial CA certificate by going to the URL mentioned in the Certificate Authority email. Export that certificate from the browser to a file named
rootcacert.crt
. - Copy the following in appropriate directories:
- Certificate file
portalcert.crt
into the...ApacheApacheconfssl.crt
directory. key.pem
file into the...ApacheApacheconfssl.key
directory.- Root Trial CA file
rootcacert.crt
into the...ApacheApacheconfssl.crt
directory.
- Certificate file
Modify httpd.conf File to Enable SSL
Make the following changes to the httpd.conf
file to enable SSL:
- Port changes: Be sure your entries are similar to the ones in the example below:
- SSL Certificate related entries: For Entry for Certificate, search for
SSLCertificateFile
and make this entry as below pointing to your certificate that came from the certificate authority. This is illustrated in the following example: - Restart Apache.
