Skip to content

Commit

Permalink
#560 Enable removing ICA certs
Browse files Browse the repository at this point in the history
Move methods to more generic place

Signed-off-by: Abdulbois <abdulbois.tursunov@dsr-corporation.com>
Signed-off-by: Abdulbois <abdulbois123@gmail.com>
  • Loading branch information
Abdulbois committed May 6, 2024
1 parent 0b1fd7e commit 184ca90
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 35 deletions.
22 changes: 22 additions & 0 deletions x/pki/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
)
}
}
14 changes: 3 additions & 11 deletions x/pki/keeper/msg_server_remove_noc_x_509_ica_cert.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
}
}
26 changes: 2 additions & 24 deletions x/pki/keeper/msg_server_remove_x_509_cert.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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,
)
}
}

0 comments on commit 184ca90

Please sign in to comment.