Слияние кода завершено, страница обновится автоматически
package sohop
import (
"crypto/x509"
"encoding/pem"
"fmt"
"time"
)
func parseCert(certPem []byte) (*x509.Certificate, error) {
block, _ := pem.Decode(certPem)
if block.Type != "CERTIFICATE" || len(block.Headers) != 0 {
return nil, fmt.Errorf("not a certificate")
}
cert, err := x509.ParseCertificate(block.Bytes)
if err != nil {
return nil, err
}
return cert, nil
}
// certValidity parses the validity timestamps from the provided PEM-encoded
// cert
func certValidity(certPem []byte) (notBefore, notAfter time.Time, err error) {
cert, err := parseCert(certPem)
if err != nil {
return time.Time{}, time.Time{}, err
}
return cert.NotBefore, cert.NotAfter, nil
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )