@@ -60,11 +60,8 @@ func (k msgServer) ApproveRevokeX509RootCert(goCtx context.Context, msg *types.M
60
60
}
61
61
k .AddRevokedRootCertificate (ctx , certID )
62
62
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 )
68
65
} else {
69
66
k ._removeAndRevoke (ctx , revocation .Approvals , certificates )
70
67
}
@@ -96,14 +93,18 @@ func (k msgServer) _removeAndRevoke(ctx sdk.Context, approvals []*types.Grant, c
96
93
// remove from subject key ID -> certificates map
97
94
k .RemoveApprovedCertificatesBySubjectKeyID (ctx , certificates .Subject , certificates .SubjectKeyId )
98
95
}
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
+
100
100
k .AddRevokedCertificates (ctx ,
101
101
types.ApprovedCertificates {
102
102
Subject : cert .Subject ,
103
103
SubjectKeyId : cert .SubjectKeyId ,
104
104
Certs : []* types.Certificate {cert },
105
105
})
106
106
k .removeCertFromList (cert .Issuer , cert .SerialNumber , & certificates )
107
+
107
108
if len (certificates .Certs ) == 0 {
108
109
k .RemoveApprovedCertificates (ctx , cert .Subject , cert .SubjectKeyId )
109
110
k .RevokeChildCertificates (ctx , cert .Subject , cert .SubjectKeyId )
0 commit comments