fix(storage): fix MongoStore.ListCertificates to correctly iterate cursor and decode documents (CRL bug)

main
zen6 2025-12-06 23:22:45 +01:00
parent f06ac35910
commit 9d5027739a
1 changed files with 4 additions and 16 deletions

View File

@ -177,20 +177,7 @@ func (m *MongoStore) ListCertificates() []*pki.Certificate {
}
defer cursor.Close(ctx)
var certs []*pki.Certificate
if err = cursor.All(ctx, &certs); err != nil {
return []*pki.Certificate{}
}
// Reconvertir les documents en certificats
var results []*pki.Certificate
if err = cursor.All(ctx, &[]CertificateDoc{}); err != nil {
return []*pki.Certificate{}
}
cursor, _ = m.collection.Find(ctx, bson.M{})
defer cursor.Close(ctx)
for cursor.Next(ctx) {
var doc CertificateDoc
if err := cursor.Decode(&doc); err != nil {
@ -209,9 +196,10 @@ func (m *MongoStore) ListCertificates() []*pki.Certificate {
// Décoder le certificat X.509
if doc.Cert != "" {
certBytes, _ := base64.StdEncoding.DecodeString(doc.Cert)
if parsedCert, _ := parseCertificate(certBytes); parsedCert != nil {
cert.Cert = parsedCert
if certBytes, err := base64.StdEncoding.DecodeString(doc.Cert); err == nil {
if parsedCert, err := parseCertificate(certBytes); err == nil && parsedCert != nil {
cert.Cert = parsedCert
}
}
}