Class PKCS12IdentityProp

  • All Implemented Interfaces:
    EventListener, IGProp<byte[]>, java.lang.Cloneable

    public class PKCS12IdentityProp
    extends ByteArrayProp
    The PKCS#12 Identity Property used for SSL communication or code signing.
    Author:
    Christopher Mindus
    • Constructor Detail

      • PKCS12IdentityProp

        protected PKCS12IdentityProp()
        Creates a byte array property with the specified name with a null value.
      • PKCS12IdentityProp

        public PKCS12IdentityProp​(Atom propertyAtom)
        Creates a byte array property with the specified name with a null value.
        Parameters:
        propertyAtom - the property atom.
    • Method Detail

      • setPropValue

        public boolean setPropValue​(byte[] newValue)
        Sets a new value for this property. If any listener is present and the value has changed compare to the last value, the listener is informed.
        Overrides:
        setPropValue in class ByteArrayProp
        Parameters:
        newValue - the new value.
        Returns:
        boolean true for value has changed, false for same value as current value.
      • setIdentity

        public boolean setIdentity​(java.lang.String fileName,
                                   char[] password)
                            throws java.io.FileNotFoundException,
                                   java.io.IOException,
                                   java.security.KeyStoreException,
                                   java.security.NoSuchAlgorithmException,
                                   java.security.cert.CertificateException,
                                   java.security.UnrecoverableKeyException
        Sets the identity.
        Parameters:
        fileName - The file name of the keystore.
        password - The password.
        Returns:
        boolean true for value has changed, false for same value as current value.
        Throws:
        java.io.FileNotFoundException - If the file is not found.
        java.security.NoSuchAlgorithmException - If the algorithm used to check the integrity of the keystore cannot be found.
        java.security.cert.CertificateException - If any of the certificates in the keystore could not be loaded.
        java.io.IOException - If there is an I/O or format problem with the keystore data, if a password is required but not given, or if the given password was incorrect. If the error is due to a wrong password, the cause of the IOException should be an UnrecoverableKeyException.
        java.security.UnrecoverableKeyException - If the key cannot be recovered (e.g. the given password is wrong).
        java.security.KeyStoreException
      • getKeyManagers

        public javax.net.ssl.KeyManager[] getKeyManagers​(char[] password)
                                                  throws java.security.KeyStoreException,
                                                         java.security.NoSuchAlgorithmException,
                                                         java.security.cert.CertificateException,
                                                         java.io.IOException,
                                                         java.security.UnrecoverableKeyException
        Gets the Key Managers for the identity, a class representing a storage facility for cryptographic keys and certificates.
        Parameters:
        password - The password of the identity.
        Returns:
        The Key Managers, or null if no identity is set.
        Throws:
        java.security.KeyStoreException - If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.
        java.security.NoSuchAlgorithmException - If the algorithm used to check the integrity of the keystore cannot be found.
        java.security.cert.CertificateException - If any of the certificates in the keystore could not be loaded.
        java.io.IOException - If there is an I/O or format problem with the keystore data, if a password is required but not given, or if the given password was incorrect. If the error is due to a wrong password, the cause of the IOException should be an UnrecoverableKeyException.
        java.security.UnrecoverableKeyException - If the key cannot be recovered (e.g. the given password is wrong).
      • getIdentityDescription

        public java.lang.String getIdentityDescription()
        Gets the description of the identity.
        Returns:
        The identity description string or null if no identity is set.
      • getKeyStore

        public java.security.KeyStore getKeyStore​(char[] password)
                                           throws java.security.KeyStoreException,
                                                  java.security.NoSuchAlgorithmException,
                                                  java.security.cert.CertificateException,
                                                  java.io.IOException
        Gets the KeyStore for the identity.
        Parameters:
        password - The password of the identity.
        Returns:
        The keystore, or null if identity is not set.
        Throws:
        java.security.KeyStoreException - If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.
        java.security.NoSuchAlgorithmException - If the algorithm used to check the integrity of the keystore cannot be found.
        java.security.cert.CertificateException - If any of the certificates in the keystore could not be loaded.
        java.io.IOException - If there is an I/O or format problem with the keystore data, if a password is required but not given, or if the given password was incorrect. If the error is due to a wrong password, the cause of the IOException should be an UnrecoverableKeyException.
      • setKeyStore

        public void setKeyStore​(java.security.KeyStore keyStore,
                                char[] password,
                                java.lang.String descr)
                         throws java.io.IOException,
                                java.security.KeyStoreException,
                                java.security.NoSuchAlgorithmException,
                                java.security.cert.CertificateException
        Stores the keystore along with a description of it.
        Parameters:
        keyStore - The keystore.
        password - The password.
        descr - Description of the keystore, cannot be null.
        Throws:
        java.io.IOException - For I/O errors.
        java.security.cert.CertificateException - If any of the certificates in the keystore could not be saved.
        java.security.NoSuchAlgorithmException - If the algorithm used to check the integrity of the keystore cannot be found.
        java.security.KeyStoreException - If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.