Skip to content

Commit 7fb9954

Browse files
committed
#535 Enable providing serial number while revoking x509 certs
Resolve MR comments Signed-off-by: Abdulbois <abdulbois.tursunov@dsr-corporation.com> Signed-off-by: Abdulbois <abdulbois123@gmail.com>
1 parent ca02c54 commit 7fb9954

File tree

3 files changed

+9
-14
lines changed

3 files changed

+9
-14
lines changed

integration_tests/cli/pki-revocation-with-serial-number.sh

-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ intermediate_cert_subject_key_id="2E:13:3B:44:52:2C:30:E9:EC:FB:45:FA:5D:E5:04:0
1818
trustee_account="jack"
1919
second_trustee_account="alice"
2020

21-
echo "Create a VendorAdmin Account"
22-
2321
test_divider
2422

2523
echo "REVOKE CERTIFICATES BY SPECIFYING SERIAL NUMBER"

x/pki/keeper/approved_certificates.go

+2-6
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,9 @@ func (k Keeper) GetApprovedCertificateBySerialNumber(
5252
return val, false
5353
}
5454

55-
for _, cert := range certs.Certs {
56-
if cert.SerialNumber == serialNumber {
57-
return *cert, true
58-
}
59-
}
55+
cert, found := findCertificate(serialNumber, &certs.Certs)
6056

61-
return val, false
57+
return *cert, found
6258
}
6359

6460
// RemoveApprovedCertificates removes a approvedCertificates from the store.

x/pki/keeper/msg_server_approve_revoke_x_509_root_cert.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,8 @@ func (k msgServer) ApproveRevokeX509RootCert(goCtx context.Context, msg *types.M
6060
}
6161
k.AddRevokedRootCertificate(ctx, certID)
6262
k.RemoveProposedCertificateRevocation(ctx, msg.Subject, msg.SubjectKeyId, msg.SerialNumber)
63-
64-
certBySerialNumber, _ := findCertificate(msg.SerialNumber, &certificates.Certs)
65-
if certBySerialNumber != nil {
66-
certBySerialNumber.Approvals = revocation.Approvals
67-
k._removeAndRevokeBySerialNumber(ctx, certBySerialNumber, certificates)
63+
if msg.SerialNumber != "" {
64+
k._removeAndRevokeBySerialNumber(ctx, revocation.Approvals, msg.SerialNumber, certificates)
6865
} else {
6966
k._removeAndRevoke(ctx, revocation.Approvals, certificates)
7067
}
@@ -96,14 +93,18 @@ func (k msgServer) _removeAndRevoke(ctx sdk.Context, approvals []*types.Grant, c
9693
// remove from subject key ID -> certificates map
9794
k.RemoveApprovedCertificatesBySubjectKeyID(ctx, certificates.Subject, certificates.SubjectKeyId)
9895
}
99-
func (k msgServer) _removeAndRevokeBySerialNumber(ctx sdk.Context, cert *types.Certificate, certificates types.ApprovedCertificates) {
96+
func (k msgServer) _removeAndRevokeBySerialNumber(ctx sdk.Context, approvals []*types.Grant, serialNumber string, certificates types.ApprovedCertificates) {
97+
cert, _ := findCertificate(serialNumber, &certificates.Certs)
98+
cert.Approvals = approvals
99+
100100
k.AddRevokedCertificates(ctx,
101101
types.ApprovedCertificates{
102102
Subject: cert.Subject,
103103
SubjectKeyId: cert.SubjectKeyId,
104104
Certs: []*types.Certificate{cert},
105105
})
106106
k.removeCertFromList(cert.Issuer, cert.SerialNumber, &certificates)
107+
107108
if len(certificates.Certs) == 0 {
108109
k.RemoveApprovedCertificates(ctx, cert.Subject, cert.SubjectKeyId)
109110
k.RevokeChildCertificates(ctx, cert.Subject, cert.SubjectKeyId)

0 commit comments

Comments
 (0)