From 184ca9057fbe2c6d0d88eccb81aa79e7bb2c008f Mon Sep 17 00:00:00 2001 From: Abdulbois Date: Mon, 6 May 2024 17:29:02 +0500 Subject: [PATCH] #560 Enable removing ICA certs Move methods to more generic place Signed-off-by: Abdulbois Signed-off-by: Abdulbois --- x/pki/keeper/keeper.go | 22 ++++++++++++++++ .../msg_server_remove_noc_x_509_ica_cert.go | 14 +++------- x/pki/keeper/msg_server_remove_x_509_cert.go | 26 ++----------------- 3 files changed, 27 insertions(+), 35 deletions(-) diff --git a/x/pki/keeper/keeper.go b/x/pki/keeper/keeper.go index 312571cc9..657537b2a 100644 --- a/x/pki/keeper/keeper.go +++ b/x/pki/keeper/keeper.go @@ -116,3 +116,25 @@ func filterCertificates(certificates *[]*types.Certificate, predicate Certificat return result } + +func (k msgServer) removeApprovedX509Cert(ctx sdk.Context, certID types.CertificateIdentifier, certificates *types.ApprovedCertificates, serialNumber string) { + if len(certificates.Certs) == 0 { + k.RemoveApprovedCertificates(ctx, certID.Subject, certID.SubjectKeyId) + k.RemoveApprovedCertificateBySubject(ctx, certID.Subject, certID.SubjectKeyId) + k.RemoveApprovedCertificatesBySubjectKeyID(ctx, certID.Subject, certID.SubjectKeyId) + } else { + k.SetApprovedCertificates(ctx, *certificates) + k.RemoveApprovedCertificatesBySubjectKeyIDAndSerialNumber(ctx, certID.Subject, certID.SubjectKeyId, serialNumber) + } +} + +func (k msgServer) removeRevokedX509Cert(ctx sdk.Context, certID types.CertificateIdentifier, certificates *types.RevokedCertificates) { + if len(certificates.Certs) == 0 { + k.RemoveRevokedCertificates(ctx, certID.Subject, certID.SubjectKeyId) + } else { + k.SetRevokedCertificates( + ctx, + *certificates, + ) + } +} diff --git a/x/pki/keeper/msg_server_remove_noc_x_509_ica_cert.go b/x/pki/keeper/msg_server_remove_noc_x_509_ica_cert.go index ca0337fec..a612ec27e 100644 --- a/x/pki/keeper/msg_server_remove_noc_x_509_ica_cert.go +++ b/x/pki/keeper/msg_server_remove_noc_x_509_ica_cert.go @@ -61,15 +61,15 @@ func (k msgServer) RemoveNocX509IcaCert(goCtx context.Context, msg *types.MsgRem // Remove from Approved lists aprCerts, _ := k.GetApprovedCertificates(ctx, msg.Subject, msg.SubjectKeyId) removeCertFromList(certBySerialNumber.Issuer, certBySerialNumber.SerialNumber, &aprCerts.Certs) - k._removeApprovedX509Cert(ctx, certID, &aprCerts, msg.SerialNumber) + k.removeApprovedX509Cert(ctx, certID, &aprCerts, msg.SerialNumber) // Remove from ICA lists removeCertFromList(certBySerialNumber.Issuer, certBySerialNumber.SerialNumber, &icaCerts.Certs) - k._removeNocX509IcaCert(ctx, certID, &icaCerts, msg.SerialNumber) + k.RemoveNocIcaCertificateBySerialNumber(ctx, icaCerts.Vid, certID.Subject, certID.SubjectKeyId, msg.SerialNumber) } if foundRevoked { removeCertFromList(certBySerialNumber.Issuer, certBySerialNumber.SerialNumber, &revCerts.Certs) - k._removeRevokedX509Cert(ctx, certID, &revCerts) + k.removeRevokedX509Cert(ctx, certID, &revCerts) } } else { k.RemoveNocIcaCertificate(ctx, certID.Subject, certID.SubjectKeyId, icaCerts.Vid) @@ -89,11 +89,3 @@ func (k msgServer) RemoveNocX509IcaCert(goCtx context.Context, msg *types.MsgRem return &types.MsgRemoveNocX509IcaCertResponse{}, nil } - -func (k msgServer) _removeNocX509IcaCert(ctx sdk.Context, certID types.CertificateIdentifier, certificates *types.NocIcaCertificates, serialNumber string) { - if len(certificates.Certs) == 0 { - k.RemoveNocIcaCertificate(ctx, certID.Subject, certID.SubjectKeyId, certificates.Vid) - } else { - k.RemoveNocIcaCertificateBySerialNumber(ctx, certificates.Vid, certID.Subject, certID.SubjectKeyId, serialNumber) - } -} diff --git a/x/pki/keeper/msg_server_remove_x_509_cert.go b/x/pki/keeper/msg_server_remove_x_509_cert.go index 87fcf3ee6..5abd8a8d9 100644 --- a/x/pki/keeper/msg_server_remove_x_509_cert.go +++ b/x/pki/keeper/msg_server_remove_x_509_cert.go @@ -60,11 +60,11 @@ func (k msgServer) RemoveX509Cert(goCtx context.Context, msg *types.MsgRemoveX50 if foundApproved { removeCertFromList(certBySerialNumber.Issuer, certBySerialNumber.SerialNumber, &aprCerts.Certs) - k._removeApprovedX509Cert(ctx, certID, &aprCerts, msg.SerialNumber) + k.removeApprovedX509Cert(ctx, certID, &aprCerts, msg.SerialNumber) } if foundRevoked { removeCertFromList(certBySerialNumber.Issuer, certBySerialNumber.SerialNumber, &revCerts.Certs) - k._removeRevokedX509Cert(ctx, certID, &revCerts) + k.removeRevokedX509Cert(ctx, certID, &revCerts) } } else { k.RemoveApprovedCertificates(ctx, certID.Subject, certID.SubjectKeyId) @@ -82,25 +82,3 @@ func (k msgServer) RemoveX509Cert(goCtx context.Context, msg *types.MsgRemoveX50 return &types.MsgRemoveX509CertResponse{}, nil } - -func (k msgServer) _removeApprovedX509Cert(ctx sdk.Context, certID types.CertificateIdentifier, certificates *types.ApprovedCertificates, serialNumber string) { - if len(certificates.Certs) == 0 { - k.RemoveApprovedCertificates(ctx, certID.Subject, certID.SubjectKeyId) - k.RemoveApprovedCertificateBySubject(ctx, certID.Subject, certID.SubjectKeyId) - k.RemoveApprovedCertificatesBySubjectKeyID(ctx, certID.Subject, certID.SubjectKeyId) - } else { - k.SetApprovedCertificates(ctx, *certificates) - k.RemoveApprovedCertificatesBySubjectKeyIDAndSerialNumber(ctx, certID.Subject, certID.SubjectKeyId, serialNumber) - } -} - -func (k msgServer) _removeRevokedX509Cert(ctx sdk.Context, certID types.CertificateIdentifier, certificates *types.RevokedCertificates) { - if len(certificates.Certs) == 0 { - k.RemoveRevokedCertificates(ctx, certID.Subject, certID.SubjectKeyId) - } else { - k.SetRevokedCertificates( - ctx, - *certificates, - ) - } -}