Search in sources :

Example 1 with CRLDistributionPointsExtensionData

use of de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData in project certmgr by hdecarne.

the class CRLDistributionPointsController method init.

/**
 * Initialize the dialog with existing extension data.
 *
 * @param data The extension data to use.
 * @param expertMode Whether to run in expert mode ({@code true}) or not ({@code false}).
 * @return This controller.
 */
public CRLDistributionPointsController init(CRLDistributionPointsExtensionData data, boolean expertMode) {
    init(expertMode);
    this.ctlCritical.setSelected(data.getCritical());
    ObservableList<GeneralName> nameItems = this.ctlNames.getItems();
    for (DistributionPoint distributionPoint : data) {
        DistributionPointName distributionPointName = distributionPoint.getName();
        if (distributionPointName != null) {
            GeneralNames names = distributionPointName.getFullName();
            if (names != null) {
                for (GeneralName name : names) {
                    nameItems.add(name);
                }
            }
            break;
        }
    }
    return this;
}
Also used : GeneralNames(de.carne.certmgr.certs.x509.GeneralNames) DistributionPointName(de.carne.certmgr.certs.x509.DistributionPointName) GeneralName(de.carne.certmgr.certs.x509.GeneralName) DistributionPoint(de.carne.certmgr.certs.x509.DistributionPoint)

Example 2 with CRLDistributionPointsExtensionData

use of de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData in project certmgr by hdecarne.

the class CertOptionsController method onCmdEditCRLDistributionPoints.

@SuppressWarnings("unused")
@FXML
void onCmdEditCRLDistributionPoints(ActionEvent evt) {
    try {
        CRLDistributionPointsController extensionDialog = CRLDistributionPointsDialog.load(this);
        CRLDistributionPointsExtensionData extensionData = this.crlDistributionPointsExtension.get();
        if (extensionData != null) {
            extensionDialog.init(extensionData, this.expertModeParam);
        } else {
            extensionDialog.init(this.expertModeParam);
        }
        Optional<CRLDistributionPointsExtensionData> dialogResult = extensionDialog.showAndWait();
        if (dialogResult.isPresent()) {
            extensionData = dialogResult.get();
            setExtensionData(extensionData);
            this.crlDistributionPointsExtension.set(extensionData);
        }
    } catch (IOException e) {
        Alerts.unexpected(e).showAndWait();
    }
}
Also used : CRLDistributionPointsExtensionData(de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData) IOException(java.io.IOException) FXML(javafx.fxml.FXML)

Example 3 with CRLDistributionPointsExtensionData

use of de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData in project certmgr by hdecarne.

the class CRLDistributionPointsController method onApply.

private void onApply(ActionEvent evt) {
    try {
        boolean critical = this.ctlCritical.isSelected();
        DistributionPoint distributionPoint = validateAndGetDistributionPoint();
        this.extensionDataResult = new CRLDistributionPointsExtensionData(critical);
        this.extensionDataResult.addDistributionPoint(distributionPoint);
    } catch (ValidationException e) {
        ValidationAlerts.error(e).showAndWait();
        evt.consume();
    }
}
Also used : ValidationException(de.carne.jfx.util.validation.ValidationException) CRLDistributionPointsExtensionData(de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData) DistributionPoint(de.carne.certmgr.certs.x509.DistributionPoint)

Example 4 with CRLDistributionPointsExtensionData

use of de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData in project certmgr by hdecarne.

the class CertOptionsController method onCmdDeleteExtension.

@SuppressWarnings("unused")
@FXML
void onCmdDeleteExtension(ActionEvent evt) {
    ExtensionDataModel extensionDataItem = this.ctlExtensionData.getSelectionModel().getSelectedItem();
    if (extensionDataItem != null) {
        X509ExtensionData extensionData = extensionDataItem.getExtensionData();
        if (extensionData instanceof BasicConstraintsExtensionData) {
            this.basicConstraintsExtension.set(null);
        } else if (extensionData instanceof KeyUsageExtensionData) {
            this.keyUsageExtension.set(null);
        } else if (extensionData instanceof ExtendedKeyUsageExtensionData) {
            this.extendedKeyUsageExtension.set(null);
        } else if (extensionData instanceof SubjectAlternativeNameExtensionData) {
            this.subjectAlternativeExtension.set(null);
        } else if (extensionData instanceof CRLDistributionPointsExtensionData) {
            this.crlDistributionPointsExtension.set(null);
        }
        this.ctlExtensionData.getItems().remove(extensionDataItem);
    }
}
Also used : X509ExtensionData(de.carne.certmgr.certs.x509.X509ExtensionData) ExtendedKeyUsageExtensionData(de.carne.certmgr.certs.x509.ExtendedKeyUsageExtensionData) KeyUsageExtensionData(de.carne.certmgr.certs.x509.KeyUsageExtensionData) ExtendedKeyUsageExtensionData(de.carne.certmgr.certs.x509.ExtendedKeyUsageExtensionData) SubjectAlternativeNameExtensionData(de.carne.certmgr.certs.x509.SubjectAlternativeNameExtensionData) BasicConstraintsExtensionData(de.carne.certmgr.certs.x509.BasicConstraintsExtensionData) CRLDistributionPointsExtensionData(de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData) FXML(javafx.fxml.FXML)

Example 5 with CRLDistributionPointsExtensionData

use of de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData in project certmgr by hdecarne.

the class CertOptionsController method applyPreset.

private void applyPreset(CertOptionsPreset preset) {
    this.ctlAliasInput.setText(preset.aliasInput());
    this.ctlDNInput.setText(preset.dnInput());
    KeyPairAlgorithm keyAlg = preset.getKeyAlg();
    if (keyAlg != null) {
        this.ctlKeyAlgOption.setValue(preset.getKeyAlg());
    }
    Integer keySize = preset.getKeySize();
    if (keySize != null) {
        this.ctlKeySizeOption.setValue(preset.getKeySize());
    }
    this.basicConstraintsExtension.set(null);
    this.keyUsageExtension.set(null);
    this.extendedKeyUsageExtension.set(null);
    this.subjectAlternativeExtension.set(null);
    this.crlDistributionPointsExtension.set(null);
    this.ctlExtensionData.getItems().clear();
    for (X509ExtensionData extensionData : preset.getExtensions()) {
        if (extensionData instanceof BasicConstraintsExtensionData) {
            this.basicConstraintsExtension.set((BasicConstraintsExtensionData) extensionData);
        } else if (extensionData instanceof KeyUsageExtensionData) {
            this.keyUsageExtension.set((KeyUsageExtensionData) extensionData);
        } else if (extensionData instanceof ExtendedKeyUsageExtensionData) {
            this.extendedKeyUsageExtension.set((ExtendedKeyUsageExtensionData) extensionData);
        } else if (extensionData instanceof SubjectAlternativeNameExtensionData) {
            this.subjectAlternativeExtension.set((SubjectAlternativeNameExtensionData) extensionData);
        } else if (extensionData instanceof CRLDistributionPointsExtensionData) {
            this.crlDistributionPointsExtension.set((CRLDistributionPointsExtensionData) extensionData);
        }
        this.ctlExtensionData.getItems().add(new ExtensionDataModel(extensionData));
    }
}
Also used : X509ExtensionData(de.carne.certmgr.certs.x509.X509ExtensionData) KeyPairAlgorithm(de.carne.certmgr.certs.security.KeyPairAlgorithm) ExtendedKeyUsageExtensionData(de.carne.certmgr.certs.x509.ExtendedKeyUsageExtensionData) KeyUsageExtensionData(de.carne.certmgr.certs.x509.KeyUsageExtensionData) ExtendedKeyUsageExtensionData(de.carne.certmgr.certs.x509.ExtendedKeyUsageExtensionData) SubjectAlternativeNameExtensionData(de.carne.certmgr.certs.x509.SubjectAlternativeNameExtensionData) BasicConstraintsExtensionData(de.carne.certmgr.certs.x509.BasicConstraintsExtensionData) CRLDistributionPointsExtensionData(de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData)

Aggregations

CRLDistributionPointsExtensionData (de.carne.certmgr.certs.x509.CRLDistributionPointsExtensionData)4 BasicConstraintsExtensionData (de.carne.certmgr.certs.x509.BasicConstraintsExtensionData)2 DistributionPoint (de.carne.certmgr.certs.x509.DistributionPoint)2 ExtendedKeyUsageExtensionData (de.carne.certmgr.certs.x509.ExtendedKeyUsageExtensionData)2 KeyUsageExtensionData (de.carne.certmgr.certs.x509.KeyUsageExtensionData)2 SubjectAlternativeNameExtensionData (de.carne.certmgr.certs.x509.SubjectAlternativeNameExtensionData)2 X509ExtensionData (de.carne.certmgr.certs.x509.X509ExtensionData)2 FXML (javafx.fxml.FXML)2 KeyPairAlgorithm (de.carne.certmgr.certs.security.KeyPairAlgorithm)1 DistributionPointName (de.carne.certmgr.certs.x509.DistributionPointName)1 GeneralName (de.carne.certmgr.certs.x509.GeneralName)1 GeneralNames (de.carne.certmgr.certs.x509.GeneralNames)1 ValidationException (de.carne.jfx.util.validation.ValidationException)1 IOException (java.io.IOException)1