SecureCacheResponse getLocalPrincipal() in Java

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

Syntax:

Principal java.net.SecureCacheResponse.getLocalPrincipal()

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

Parameters: NA

Returns: the principal sent to the server. Returns an X500Principalof to the end-entity certificate for X509-based cipher suites, and Kerberos principal for Kerberos cipher suites. If no principal was sent, then null is returned.

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 SecureCacheResponsegetLocalPrincipal {
    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.getLocalPrincipal());

    }
}

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