mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2025-12-19 16:30:07 +08:00
`certificate` and `private-key` for proxies `client-auth-type` and `client-auth-cert` for listeners
46 lines
1.0 KiB
Go
46 lines
1.0 KiB
Go
package tls
|
|
|
|
import (
|
|
utls "github.com/metacubex/utls"
|
|
)
|
|
|
|
type ClientAuthType = utls.ClientAuthType
|
|
|
|
const (
|
|
NoClientCert = utls.NoClientCert
|
|
RequestClientCert = utls.RequestClientCert
|
|
RequireAnyClientCert = utls.RequireAnyClientCert
|
|
VerifyClientCertIfGiven = utls.VerifyClientCertIfGiven
|
|
RequireAndVerifyClientCert = utls.RequireAndVerifyClientCert
|
|
)
|
|
|
|
func ClientAuthTypeFromString(s string) ClientAuthType {
|
|
switch s {
|
|
case "request":
|
|
return RequestClientCert
|
|
case "require-any":
|
|
return RequireAnyClientCert
|
|
case "verify-if-given":
|
|
return VerifyClientCertIfGiven
|
|
case "require-and-verify":
|
|
return RequireAndVerifyClientCert
|
|
default:
|
|
return NoClientCert
|
|
}
|
|
}
|
|
|
|
func ClientAuthTypeToString(t ClientAuthType) string {
|
|
switch t {
|
|
case RequestClientCert:
|
|
return "request"
|
|
case RequireAnyClientCert:
|
|
return "require-any"
|
|
case VerifyClientCertIfGiven:
|
|
return "verify-if-given"
|
|
case RequireAndVerifyClientCert:
|
|
return "require-and-verify"
|
|
default:
|
|
return ""
|
|
}
|
|
}
|