Merge pull request #288 from PF4Public/pf/replace

Replace certificate while renewing
This commit is contained in:
Christian Hohnstädt 2021-06-04 08:50:58 +02:00 committed by GitHub
commit 8c0a5adc3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -837,6 +837,7 @@ void db_x509::certRenewal(QModelIndexList indexes)
CertExtend *dlg = NULL;
x509rev r;
bool doRevoke = false;
bool doReplace = false;
if (indexes.size() == 0)
return;
@ -862,6 +863,7 @@ void db_x509::certRenewal(QModelIndexList indexes)
r = revoke->getRevocation();
delete revoke;
}
doReplace = dlg->replace->isChecked();
foreach(idx, indexes) {
oldcert = fromIndex<pki_x509>(idx);
if (!oldcert)
@ -887,6 +889,10 @@ void db_x509::certRenewal(QModelIndexList indexes)
newcert->sign(signkey, oldcert->getDigest());
newcert = dynamic_cast<pki_x509 *>(insert(newcert));
createSuccess(newcert);
// delete old certificate if requested
if (doReplace)
deletePKI(idx);
}
if (doRevoke)
do_revoke(indexes, r);

View File

@ -215,6 +215,16 @@
<property name="text">
<string>Revoke old certificate</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="replace">
<property name="text">
<string>Replace old certificate</string>
</property>
<property name="checked">
<bool>true</bool>
</property>