1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-10-18 17:54:30 -04:00
v2fly/main/commands/all/tls/chainhash.go
2024-09-08 08:38:05 +01:00

35 lines
827 B
Go

package tls
import (
"fmt"
"os"
"github.com/v2fly/v2ray-core/v5/main/commands/base"
v2tls "github.com/v2fly/v2ray-core/v5/transport/internet/tls"
)
var cmdChainHash = &base.Command{
UsageLine: "{{.Exec}} tls certChainHash [--cert <cert.pem>]",
Short: "Generate certificate chain hash for given certificate bundle",
}
func init() {
cmdChainHash.Run = executeChainHash // break init loop
}
var certFile = cmdChainHash.Flag.String("cert", "cert.pem", "")
func executeChainHash(cmd *base.Command, args []string) {
if len(*certFile) == 0 {
base.Fatalf("cert file not specified")
}
certContent, err := os.ReadFile(*certFile)
if err != nil {
base.Fatalf("Failed to read cert file: %s", err)
return
}
certChainHashB64 := v2tls.CalculatePEMCertChainSHA256Hash(certContent)
fmt.Println(certChainHashB64)
}