Search in sources :

Example 6 with DGetNewPassword

use of org.kse.gui.password.DGetNewPassword in project keystore-explorer by kaikramer.

the class ImportKeyPairAction method importKeyPairPvk.

private void importKeyPairPvk() {
    try {
        KeyStoreHistory history = kseFrame.getActiveKeyStoreHistory();
        KeyStoreState currentState = history.getCurrentState();
        KeyStoreState newState = currentState.createBasisForNextState(this);
        KeyStore keyStore = newState.getKeyStore();
        DImportKeyPairPvk dImportKeyPairPvk = new DImportKeyPairPvk(frame);
        dImportKeyPairPvk.setLocationRelativeTo(frame);
        dImportKeyPairPvk.setVisible(true);
        PrivateKey privateKey = dImportKeyPairPvk.getPrivateKey();
        Certificate[] certs = dImportKeyPairPvk.getCertificateChain();
        if ((privateKey == null) || (certs == null)) {
            return;
        }
        X509Certificate[] x509Certs = X509CertUtil.orderX509CertChain(X509CertUtil.convertCertificates(certs));
        DGetAlias dGetAlias = new DGetAlias(frame, res.getString("ImportKeyPairAction.NewKeyPairEntryAlias.Title"), X509CertUtil.getCertificateAlias(x509Certs[0]));
        dGetAlias.setLocationRelativeTo(frame);
        dGetAlias.setVisible(true);
        String alias = dGetAlias.getAlias();
        if (alias == null) {
            return;
        }
        if (keyStore.containsAlias(alias)) {
            String message = MessageFormat.format(res.getString("ImportKeyPairAction.OverWriteEntry.message"), alias);
            int selected = JOptionPane.showConfirmDialog(frame, message, res.getString("ImportKeyPairAction.NewKeyPairEntryAlias.Title"), JOptionPane.YES_NO_OPTION);
            if (selected != JOptionPane.YES_OPTION) {
                return;
            }
        }
        Password password = new Password((char[]) null);
        KeyStoreType type = KeyStoreType.resolveJce(keyStore.getType());
        if (type.hasEntryPasswords()) {
            DGetNewPassword dGetNewPassword = new DGetNewPassword(frame, res.getString("ImportKeyPairAction.NewKeyPairEntryPassword.Title"), applicationSettings.getPasswordQualityConfig());
            dGetNewPassword.setLocationRelativeTo(frame);
            dGetNewPassword.setVisible(true);
            password = dGetNewPassword.getPassword();
            if (password == null) {
                return;
            }
        }
        if (keyStore.containsAlias(alias)) {
            keyStore.deleteEntry(alias);
            newState.removeEntryPassword(alias);
        }
        keyStore.setKeyEntry(alias, privateKey, password.toCharArray(), x509Certs);
        newState.setEntryPassword(alias, password);
        currentState.append(newState);
        kseFrame.updateControls(true);
        JOptionPane.showMessageDialog(frame, res.getString("ImportKeyPairAction.KeyPairImportSuccessful.message"), res.getString("ImportKeyPairAction.ImportKeyPair.Title"), JOptionPane.INFORMATION_MESSAGE);
    } catch (Exception ex) {
        DError.displayError(frame, ex);
    }
}
Also used : KeyStoreState(org.kse.utilities.history.KeyStoreState) KeyStoreHistory(org.kse.utilities.history.KeyStoreHistory) PrivateKey(java.security.PrivateKey) DImportKeyPairPvk(org.kse.gui.dialogs.importexport.DImportKeyPairPvk) KeyStore(java.security.KeyStore) X509Certificate(java.security.cert.X509Certificate) DGetAlias(org.kse.gui.dialogs.DGetAlias) KeyStoreType(org.kse.crypto.keystore.KeyStoreType) DGetNewPassword(org.kse.gui.password.DGetNewPassword) X509Certificate(java.security.cert.X509Certificate) Certificate(java.security.cert.Certificate) DGetNewPassword(org.kse.gui.password.DGetNewPassword) Password(org.kse.crypto.Password)

Example 7 with DGetNewPassword

use of org.kse.gui.password.DGetNewPassword in project keystore-explorer by kaikramer.

the class KeyStoreExplorerAction method getNewKeyStorePassword.

/**
 * Get a new KeyStore password.
 *
 * @return The new KeyStore password, or null if none entered by the user
 */
protected Password getNewKeyStorePassword() {
    DGetNewPassword dGetNewPassword = new DGetNewPassword(frame, res.getString("KeyStoreExplorerAction.SetKeyStorePassword.Title"), ApplicationSettings.getInstance().getPasswordQualityConfig());
    dGetNewPassword.setLocationRelativeTo(frame);
    dGetNewPassword.setVisible(true);
    Password password = dGetNewPassword.getPassword();
    return password;
}
Also used : DGetNewPassword(org.kse.gui.password.DGetNewPassword) DGetNewPassword(org.kse.gui.password.DGetNewPassword) DGetPassword(org.kse.gui.password.DGetPassword) Password(org.kse.crypto.Password)

Aggregations

Password (org.kse.crypto.Password)7 DGetNewPassword (org.kse.gui.password.DGetNewPassword)7 KeyStore (java.security.KeyStore)6 KeyStoreType (org.kse.crypto.keystore.KeyStoreType)6 DGetAlias (org.kse.gui.dialogs.DGetAlias)6 KeyStoreHistory (org.kse.utilities.history.KeyStoreHistory)6 KeyStoreState (org.kse.utilities.history.KeyStoreState)6 X509Certificate (java.security.cert.X509Certificate)5 PrivateKey (java.security.PrivateKey)4 Certificate (java.security.cert.Certificate)3 KeyPair (java.security.KeyPair)1 Provider (java.security.Provider)1 SecretKey (javax.crypto.SecretKey)1 KeyPairType (org.kse.crypto.keypair.KeyPairType)1 SecretKeyType (org.kse.crypto.secretkey.SecretKeyType)1 DGenerateKeyPair (org.kse.gui.dialogs.DGenerateKeyPair)1 DGenerateKeyPairCert (org.kse.gui.dialogs.DGenerateKeyPairCert)1 DGenerateSecretKey (org.kse.gui.dialogs.DGenerateSecretKey)1 DGeneratingKeyPair (org.kse.gui.dialogs.DGeneratingKeyPair)1 DImportKeyPairOpenSsl (org.kse.gui.dialogs.importexport.DImportKeyPairOpenSsl)1