INNER CODE UNIT · Go
parsePEMFile
demoiselle/signer · automacao-importador/diagnostico-cadeia.go:190
func parsePEMFile(path string) (certInfo, error) {
data, err := os.ReadFile(path)
if err != nil {
return certInfo{}, err
}
// Tenta PEM primeiro
block, _ := pem.Decode(data)
if block != nil && block.Type == "CERTIFICATE" {
cert, err := x509.ParseCertificate(block.Bytes)
if err == nil {
return certInfo{
Subject: cert.Subject.String(),
Issuer: cert.Issuer.String(),
Serial: cert.SerialNumber.String(),
IsCA: cert.IsCA,
SelfSigned: cert.Subject.String() == cert.Issuer.String(),
Raw: block.Bytes,
CN: extractCN(cert.Subject.String()),