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)
|
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
|
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) {
|
for cursor.Next(ctx) {
|
||||||
var doc CertificateDoc
|
var doc CertificateDoc
|
||||||
if err := cursor.Decode(&doc); err != nil {
|
if err := cursor.Decode(&doc); err != nil {
|
||||||
|
|
@ -209,11 +196,12 @@ func (m *MongoStore) ListCertificates() []*pki.Certificate {
|
||||||
|
|
||||||
// Décoder le certificat X.509
|
// Décoder le certificat X.509
|
||||||
if doc.Cert != "" {
|
if doc.Cert != "" {
|
||||||
certBytes, _ := base64.StdEncoding.DecodeString(doc.Cert)
|
if certBytes, err := base64.StdEncoding.DecodeString(doc.Cert); err == nil {
|
||||||
if parsedCert, _ := parseCertificate(certBytes); parsedCert != nil {
|
if parsedCert, err := parseCertificate(certBytes); err == nil && parsedCert != nil {
|
||||||
cert.Cert = parsedCert
|
cert.Cert = parsedCert
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
results = append(results, cert)
|
results = append(results, cert)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue