use of de.carne.certmgr.certs.x509.KeyUsageExtensionData in project certmgr by hdecarne.
the class KeyUsageController 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 KeyUsageController init(KeyUsageExtensionData data, boolean expertMode) {
init(expertMode);
this.ctlCritical.setSelected(data.getCritical());
if (data.hasUsage(KeyUsage.ANY)) {
this.ctlAnyUsage.setSelected(true);
} else {
for (KeyUsage usage : data) {
this.ctlUsages.getSelectionModel().select(usage);
}
}
return this;
}
use of de.carne.certmgr.certs.x509.KeyUsageExtensionData 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);
}
}
use of de.carne.certmgr.certs.x509.KeyUsageExtensionData 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));
}
}
use of de.carne.certmgr.certs.x509.KeyUsageExtensionData in project certmgr by hdecarne.
the class CertOptionsController method onCmdEditKeyUsage.
@SuppressWarnings("unused")
@FXML
void onCmdEditKeyUsage(ActionEvent evt) {
try {
KeyUsageController extensionDialog = KeyUsageDialog.load(this);
KeyUsageExtensionData extensionData = this.keyUsageExtension.get();
if (extensionData != null) {
extensionDialog.init(extensionData, this.expertModeParam);
} else {
extensionDialog.init(this.expertModeParam);
}
Optional<KeyUsageExtensionData> dialogResult = extensionDialog.showAndWait();
if (dialogResult.isPresent()) {
extensionData = dialogResult.get();
setExtensionData(extensionData);
this.keyUsageExtension.set(extensionData);
}
} catch (IOException e) {
Alerts.unexpected(e).showAndWait();
}
}
use of de.carne.certmgr.certs.x509.KeyUsageExtensionData in project certmgr by hdecarne.
the class KeyUsageController method onApply.
@SuppressWarnings("unused")
private void onApply(ActionEvent evt) {
boolean critical = this.ctlCritical.isSelected();
Set<KeyUsage> usages = new HashSet<>();
if (this.ctlAnyUsage.isSelected()) {
usages.add(KeyUsage.ANY);
} else {
for (KeyUsage usage : this.ctlUsages.getSelectionModel().getSelectedItems()) {
usages.add(usage);
}
}
this.extensionDataResult = new KeyUsageExtensionData(critical, usages);
}
Aggregations