fix(storage): fix MongoStore.ListCertificates to correctly iterate cursor and decode documents (CRL bug)
parent
f06ac35910
commit
9d5027739a
|
|
@ -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,11 +196,12 @@ 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 {
|
||||
if certBytes, err := base64.StdEncoding.DecodeString(doc.Cert); err == nil {
|
||||
if parsedCert, err := parseCertificate(certBytes); err == nil && parsedCert != nil {
|
||||
cert.Cert = parsedCert
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
results = append(results, cert)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue