Java Key Public getPublicKey(KeyStore ks, String alias, char[] password)

Here you can find the source of getPublicKey(KeyStore ks, String alias, char[] password)

Description

Get the Public Key from the keystore

License

Open Source License

Parameter

Parameter Description
ks a parameter
alias a parameter
password a parameter

Exception

Parameter Description
GeneralSecurityException an exception

Declaration

public static PublicKey getPublicKey(KeyStore ks, String alias, char[] password)
        throws KeyStoreException, NoSuchAlgorithmException, GeneralSecurityException 

Method Source Code

//package com.java2s;
/*/*from w  ww .j  a v  a2  s.c o m*/
 * JBoss, Home of Professional Open Source.
 * Copyright 2011, Red Hat Middleware LLC, and individual contributors
 * as indicated by the @author tags. See the copyright.txt file in the
 * distribution for a full listing of individual contributors. 
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */

import java.security.GeneralSecurityException;
import java.security.Key;

import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.Certificate;

public class Main {
    /**
     * Get the Public Key from the keystore
     * @param ks
     * @param alias
     * @param password
     * @return 
     * @throws GeneralSecurityException  
     */
    public static PublicKey getPublicKey(KeyStore ks, String alias, char[] password)
            throws KeyStoreException, NoSuchAlgorithmException, GeneralSecurityException {
        PublicKey publicKey = null;

        // Get private key
        Key key = ks.getKey(alias, password);
        if (key instanceof PrivateKey) {
            // Get certificate of public key
            Certificate cert = ks.getCertificate(alias);

            // Get public key
            publicKey = cert.getPublicKey();
        }
        // if alias is a certificate alias, get the public key from the certificate.
        if (publicKey == null) {
            Certificate cert = ks.getCertificate(alias);
            if (cert != null)
                publicKey = cert.getPublicKey();
        }
        return publicKey;
    }
}

Related

  1. getPublicKey(KeyPair keyPair)
  2. getPublicKey(KeyPair kp)
  3. getPublicKey(KeyStore keyStore, String alias)
  4. getPublicKey(KeyStore keyStore, String alias)
  5. getPublicKey(KeyStore keyStore, String alias, char[] password)
  6. getPublicKey(String algo)
  7. getPublicKey(String alias)
  8. getPublicKey(String certificatePath)
  9. getPublicKey(String certPath)