SecureCacheResponse getSSLSession() in Java

getSSLSession(): This method is available in the java.net.SecureCacheResponse class of Java.

Syntax:

Optional<SSLSession> java.net.SecureCacheResponse.getSSLSession()

This method returns an Optional containing the SSLSession in use on the original connection that retrieved the network resource.

Returns an empty Optional if the underlying implementation does not support this method.

Parameters: NA

Returns: an Optional containing the SSLSession in use on the original connection.

Exceptions: NA

Approach

Java

package com.SecureCacheResponse;

import java.io.IOException;
import java.io.InputStream;
import java.net.SecureCacheResponse;
import java.security.Principal;
import java.security.cert.Certificate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.net.ssl.SSLPeerUnverifiedException;

public class SecureCacheResponsegetSSLSession {
    public static void main(String[] args) throws IOException {

        SecureCacheResponse secureCacheResponse = new SecureCacheResponse() {
            @Override
            public String getCipherSuite() {
                return "Connection established";
            }

            @Override
            public List<Certificate> getLocalCertificateChain() {

                return null;
            }

            @Override
            public List<Certificate> getServerCertificateChain() throws SSLPeerUnverifiedException {
                return null;
            }

            @Override
            public Principal getPeerPrincipal() throws SSLPeerUnverifiedException {
                return null;
            }

            @Override
            public Principal getLocalPrincipal() {
                return null;
            }

            @Override
            public Map<String, List<String>> getHeaders() throws IOException {

                Map<String, List<String>> map = new HashMap<String, List<String>>();
                List<String> value = new ArrayList<String>();
                List<String> value1 = new ArrayList<String>();
                value.add("abcdsdd");
                map.put("Authorization", value);
                value1.add("abcdd");
                map.put("param", value1);
                return map;
            }

            @Override
            public InputStream getBody() throws IOException {
                return new InputStream() {

                    @Override
                    public int read() throws IOException {
                        return 0;
                    }
                };
            }
        };

        System.out.println(secureCacheResponse.getSSLSession());

    }
}

Output:

Optional.empty


Some other methods of the SecureCacheResponse class

getCipherSuite()This method returns the cipher suite in use on the original connection that retrieved the network resource.

getLocalCertificateChain()This method returns the certificate chain that was sent to the server during the handshaking of the original connection that retrieved the network resource.

getLocalPrincipal()This method returns the principal that was sent to the server during handshaking in the original connection that retrieved the network resource.

getPeerPrincipal()This method returns the server's principal which was established as part of defining the session during the original connection that retrieved the network resource.

getServerCertificateChain()This method returns the server's certificate chain, which was established as part of defining the session in the original connection that retrieved the network resource, from the cache.

getSSLSession()This method returns an Optional containing the SSLSession in use on the original connection that retrieved the network resource.

No comments:

Post a Comment