Search in sources :

Example 1 with DExportPrivateKeyOpenSsl

use of org.kse.gui.dialogs.importexport.DExportPrivateKeyOpenSsl in project keystore-explorer by kaikramer.

the class ExportKeyPairPrivateKeyAction method exportAsOpenSsl.

private void exportAsOpenSsl(PrivateKey privateKey, String alias) throws CryptoException, IOException {
    File exportFile = null;
    try {
        DExportPrivateKeyOpenSsl dExportPrivateKeyOpenSsl = new DExportPrivateKeyOpenSsl(frame, alias, applicationSettings.getPasswordQualityConfig());
        dExportPrivateKeyOpenSsl.setLocationRelativeTo(frame);
        dExportPrivateKeyOpenSsl.setVisible(true);
        if (!dExportPrivateKeyOpenSsl.exportSelected()) {
            return;
        }
        exportFile = dExportPrivateKeyOpenSsl.getExportFile();
        boolean pemEncode = dExportPrivateKeyOpenSsl.pemEncode();
        boolean encrypt = dExportPrivateKeyOpenSsl.encrypt();
        OpenSslPbeType pbeAlgorithm = null;
        Password exportPassword = null;
        if (encrypt) {
            pbeAlgorithm = dExportPrivateKeyOpenSsl.getPbeAlgorithm();
            exportPassword = dExportPrivateKeyOpenSsl.getExportPassword();
        }
        byte[] encoded = getOpenSslEncodedPrivateKey(privateKey, pemEncode, pbeAlgorithm, exportPassword);
        exportEncodedPrivateKey(encoded, exportFile);
        JOptionPane.showMessageDialog(frame, res.getString("ExportKeyPairPrivateKeyAction.ExportPrivateKeyOpenSslSuccessful.message"), res.getString("ExportKeyPairPrivateKeyAction.ExportPrivateKeyOpenSsl.Title"), JOptionPane.INFORMATION_MESSAGE);
    } catch (FileNotFoundException ex) {
        String message = MessageFormat.format(res.getString("ExportKeyPairPrivateKeyAction.NoWriteFile.message"), exportFile);
        JOptionPane.showMessageDialog(frame, message, res.getString("ExportKeyPairPrivateKeyAction.ExportPrivateKeyOpenSsl.Title"), JOptionPane.WARNING_MESSAGE);
    }
}
Also used : DExportPrivateKeyOpenSsl(org.kse.gui.dialogs.importexport.DExportPrivateKeyOpenSsl) FileNotFoundException(java.io.FileNotFoundException) OpenSslPbeType(org.kse.crypto.privatekey.OpenSslPbeType) File(java.io.File) Password(org.kse.crypto.Password)

Aggregations

File (java.io.File)1 FileNotFoundException (java.io.FileNotFoundException)1 Password (org.kse.crypto.Password)1 OpenSslPbeType (org.kse.crypto.privatekey.OpenSslPbeType)1 DExportPrivateKeyOpenSsl (org.kse.gui.dialogs.importexport.DExportPrivateKeyOpenSsl)1