点击(此处)折叠或打开

  1. package main

  2. import (
  3.     "crypto/x509"
  4.     "flag"
  5.     "fmt"
  6.     "log"
  7.     "os"
  8.     "strconv"
  9. )

  10. var certname = flag.String("certname", "test.der", "input you certname")

  11. func getCertInfo() {

  12.     if len(os.Args) != 2 {
  13.         log.Fatal("input certname....")
  14.         return
  15.     }
  16.     flag.Parse()
  17.     certCerFile, err := os.Open(*certname)

  18.     if err != nil {
  19.         log.Fatal(err)
  20.     }
  21.     derBytes := make([]byte, 1000)
  22.     count, err := certCerFile.Read(derBytes)
  23.     if err != nil {
  24.         log.Fatal(err)
  25.     }
  26.     certCerFile.Close()
  27.     cert, err := x509.ParseCertificate(derBytes[0:count])
  28.     if err != nil {
  29.         log.Fatal(err)
  30.     }

  31.     expiretime := strconv.FormatInt(cert.NotAfter.Unix(), 10)
  32.     fmt.Printf(expiretime);
  33.     extension := cert.Extensions

  34.     if len(extension) > 0 {
  35.         fmt.Printf(extension);
  36.     }

  37. }
  38. func main() {
  39.     getCertInfo()
  40. }

10-01 20:50
查看更多