SecureCacheResponse getServerCertificateChain() in Java

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

Syntax:

List<Certificate> java.net.SecureCacheResponse.getServerCertificateChain() throws SSLPeerUnverifiedException

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.

Note: This method can be used only when using certificate-based cipher suites; using it with non-certificate-based cipher suites, such as Kerberos, will throw an SSLPeerUnverifiedException.

Returns: an immutable List of Certificates representing the server certificate chain.

Throws:

1. SSLPeerUnverifiedException - if the peer is not verified.

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 SecureCacheResponsegetServerCertificateChain {
    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.getServerCertificateChain());

    }
}

Output:

null


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