lib: add base64 hex encoding; linter fixes.
This commit is contained in:
@@ -182,7 +182,7 @@ func main() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := verify.CertWith(cert, roots, nil, false); err != nil {
|
if _, err = verify.CertWith(cert, roots, nil, false); err != nil {
|
||||||
fmt.Printf("%s: INVALID\n", arg)
|
fmt.Printf("%s: INVALID\n", arg)
|
||||||
} else {
|
} else {
|
||||||
fmt.Printf("%s: OK (expires %s)\n", arg, cert.NotAfter.Format(lib.DateShortFormat))
|
fmt.Printf("%s: OK (expires %s)\n", arg, cert.NotAfter.Format(lib.DateShortFormat))
|
||||||
|
|||||||
22
lib/lib.go
22
lib/lib.go
@@ -1,6 +1,7 @@
|
|||||||
package lib
|
package lib
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/base64"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
@@ -126,6 +127,8 @@ const (
|
|||||||
HexEncodeUpperColon
|
HexEncodeUpperColon
|
||||||
// HexEncodeBytes prints the string as a sequence of []byte.
|
// HexEncodeBytes prints the string as a sequence of []byte.
|
||||||
HexEncodeBytes
|
HexEncodeBytes
|
||||||
|
// HexEncodeBase64 prints the string as a base64-encoded string.
|
||||||
|
HexEncodeBase64
|
||||||
)
|
)
|
||||||
|
|
||||||
func (m HexEncodeMode) String() string {
|
func (m HexEncodeMode) String() string {
|
||||||
@@ -140,6 +143,8 @@ func (m HexEncodeMode) String() string {
|
|||||||
return "ucolon"
|
return "ucolon"
|
||||||
case HexEncodeBytes:
|
case HexEncodeBytes:
|
||||||
return "bytes"
|
return "bytes"
|
||||||
|
case HexEncodeBase64:
|
||||||
|
return "base64"
|
||||||
default:
|
default:
|
||||||
panic("invalid hex encode mode")
|
panic("invalid hex encode mode")
|
||||||
}
|
}
|
||||||
@@ -157,6 +162,8 @@ func ParseHexEncodeMode(s string) HexEncodeMode {
|
|||||||
return HexEncodeUpperColon
|
return HexEncodeUpperColon
|
||||||
case "bytes":
|
case "bytes":
|
||||||
return HexEncodeBytes
|
return HexEncodeBytes
|
||||||
|
case "base64":
|
||||||
|
return HexEncodeBase64
|
||||||
}
|
}
|
||||||
|
|
||||||
panic("invalid hex encode mode")
|
panic("invalid hex encode mode")
|
||||||
@@ -218,21 +225,22 @@ func bytesAsByteSliceString(buf []byte) string {
|
|||||||
return sb.String()
|
return sb.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
// HexEncode encodes the given bytes as a hexadecimal string.
|
// HexEncode encodes the given bytes as a hexadecimal string. It
|
||||||
|
// also supports a few other binary-encoding formats as well.
|
||||||
func HexEncode(b []byte, mode HexEncodeMode) string {
|
func HexEncode(b []byte, mode HexEncodeMode) string {
|
||||||
str := hexEncode(b)
|
|
||||||
|
|
||||||
switch mode {
|
switch mode {
|
||||||
case HexEncodeLower:
|
case HexEncodeLower:
|
||||||
return str
|
return hexEncode(b)
|
||||||
case HexEncodeUpper:
|
case HexEncodeUpper:
|
||||||
return strings.ToUpper(str)
|
return strings.ToUpper(hexEncode(b))
|
||||||
case HexEncodeLowerColon:
|
case HexEncodeLowerColon:
|
||||||
return hexColons(str)
|
return hexColons(hexEncode(b))
|
||||||
case HexEncodeUpperColon:
|
case HexEncodeUpperColon:
|
||||||
return strings.ToUpper(hexColons(str))
|
return strings.ToUpper(hexColons(hexEncode(b)))
|
||||||
case HexEncodeBytes:
|
case HexEncodeBytes:
|
||||||
return bytesAsByteSliceString(b)
|
return bytesAsByteSliceString(b)
|
||||||
|
case HexEncodeBase64:
|
||||||
|
return base64.StdEncoding.EncodeToString(b)
|
||||||
default:
|
default:
|
||||||
panic("invalid hex encode mode")
|
panic("invalid hex encode mode")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user