initial commit
This commit is contained in:
commit
9644786dd4
15 files changed
+595
No files matched your search
@@ -0,0 +1,41 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"crypto/x509"
|
||||
"encoding/pem"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
func ParseCertificate(certPath string) map[string]any {
|
||||
// Чтение PEM-файла
|
||||
pemData, err := os.ReadFile(certPath)
|
||||
if err != nil {
|
||||
log.Fatal("Ошибка чтения файла:", err)
|
||||
}
|
||||
|
||||
// Декодирование PEM-блока
|
||||
block, _ := pem.Decode(pemData)
|
||||
if block == nil {
|
||||
log.Fatal("Не удалось декодировать PEM блок")
|
||||
}
|
||||
|
||||
// Парсинг сертификата
|
||||
cert, err := x509.ParseCertificate(block.Bytes)
|
||||
if err != nil {
|
||||
log.Fatal("Ошибка парсинга сертификата:", err)
|
||||
}
|
||||
|
||||
res := make(map[string]any)
|
||||
res["Subject"] = cert.Subject
|
||||
res["Issuer"] = cert.Issuer
|
||||
res["SerialNumber"] = cert.SerialNumber
|
||||
res["NotBefore"] = cert.NotBefore
|
||||
res["NotAfter"] = cert.NotAfter
|
||||
res["DNSNames"] = cert.DNSNames
|
||||
res["KeyUsage"] = cert.KeyUsage
|
||||
res["SignatureAlgorithm"] = cert.SignatureAlgorithm
|
||||
|
||||
// Вывод информации
|
||||
return res
|
||||
}
|
||||
Reference in new issue
Block a user