Minor bug fixes.
This commit is contained in:
@@ -121,3 +121,13 @@ func ExportPrivateKeyPEM(priv crypto.PrivateKey) ([]byte, error) {
|
|||||||
|
|
||||||
return pem.EncodeToMemory(&pem.Block{Type: pemTypePrivateKey, Bytes: keyDER}), nil
|
return pem.EncodeToMemory(&pem.Block{Type: pemTypePrivateKey, Bytes: keyDER}), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func LoadCSR(path string) (*x509.CertificateRequest, error) {
|
||||||
|
in, err := os.ReadFile(path)
|
||||||
|
if err != nil {
|
||||||
|
return nil, certerr.LoadingError(certerr.ErrorSourceCSR, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
req, _, err := ParseCSR(in)
|
||||||
|
return req, err
|
||||||
|
}
|
||||||
|
|||||||
@@ -249,11 +249,6 @@ func showBasicConstraints(cert *x509.Certificate) {
|
|||||||
fmt.Fprintln(os.Stdout)
|
fmt.Fprintln(os.Stdout)
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
|
||||||
dateFormat string
|
|
||||||
showHash bool // if true, print a SHA256 hash of the certificate's Raw field
|
|
||||||
)
|
|
||||||
|
|
||||||
func wrapPrint(text string, indent int) {
|
func wrapPrint(text string, indent int) {
|
||||||
tabs := ""
|
tabs := ""
|
||||||
var tabsSb140 strings.Builder
|
var tabsSb140 strings.Builder
|
||||||
@@ -265,11 +260,12 @@ func wrapPrint(text string, indent int) {
|
|||||||
fmt.Fprintf(os.Stdout, tabs+"%s\n", wrap(text, indent))
|
fmt.Fprintf(os.Stdout, tabs+"%s\n", wrap(text, indent))
|
||||||
}
|
}
|
||||||
|
|
||||||
func DisplayCert(w io.Writer, cert *x509.Certificate) {
|
func DisplayCert(w io.Writer, cert *x509.Certificate, showHash bool) {
|
||||||
fmt.Fprintln(w, "CERTIFICATE")
|
fmt.Fprintln(w, "CERTIFICATE")
|
||||||
if showHash {
|
if showHash {
|
||||||
fmt.Fprintln(w, wrap(fmt.Sprintf("SHA256: %x", sha256.Sum256(cert.Raw)), 0))
|
fmt.Fprintln(w, wrap(fmt.Sprintf("SHA256: %x", sha256.Sum256(cert.Raw)), 0))
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Fprintln(w, wrap("Subject: "+DisplayName(cert.Subject), 0))
|
fmt.Fprintln(w, wrap("Subject: "+DisplayName(cert.Subject), 0))
|
||||||
fmt.Fprintln(w, wrap("Issuer: "+DisplayName(cert.Issuer), 0))
|
fmt.Fprintln(w, wrap("Issuer: "+DisplayName(cert.Issuer), 0))
|
||||||
fmt.Fprintf(w, "\tSignature algorithm: %s / %s\n", sigAlgoPK(cert.SignatureAlgorithm),
|
fmt.Fprintf(w, "\tSignature algorithm: %s / %s\n", sigAlgoPK(cert.SignatureAlgorithm),
|
||||||
@@ -285,8 +281,8 @@ func DisplayCert(w io.Writer, cert *x509.Certificate) {
|
|||||||
fmt.Fprintf(w, "\t%s\n", wrap("SKI: "+dumpHex(cert.SubjectKeyId), 1))
|
fmt.Fprintf(w, "\t%s\n", wrap("SKI: "+dumpHex(cert.SubjectKeyId), 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
wrapPrint("Valid from: "+cert.NotBefore.Format(dateFormat), 1)
|
wrapPrint("Valid from: "+cert.NotBefore.Format(lib.DateShortFormat), 1)
|
||||||
fmt.Fprintf(w, "\t until: %s\n", cert.NotAfter.Format(dateFormat))
|
fmt.Fprintf(w, "\t until: %s\n", cert.NotAfter.Format(lib.DateShortFormat))
|
||||||
fmt.Fprintf(w, "\tKey usages: %s\n", keyUsages(cert.KeyUsage))
|
fmt.Fprintf(w, "\tKey usages: %s\n", keyUsages(cert.KeyUsage))
|
||||||
|
|
||||||
if len(cert.ExtKeyUsage) > 0 {
|
if len(cert.ExtKeyUsage) > 0 {
|
||||||
|
|||||||
@@ -35,12 +35,12 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if config.leafOnly {
|
if config.leafOnly {
|
||||||
dump.DisplayCert(os.Stdout, certs[0])
|
dump.DisplayCert(os.Stdout, certs[0], config.showHash)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := range certs {
|
for i := range certs {
|
||||||
dump.DisplayCert(os.Stdout, certs[i])
|
dump.DisplayCert(os.Stdout, certs[i], config.showHash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user