mirror of https://github.com/bjdgyc/anylink.git
添加 DTLS12-CipherSuite 筛选
This commit is contained in:
parent
5b1d86282a
commit
9e1969e3d0
|
@ -8,6 +8,7 @@ import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"errors"
|
"errors"
|
||||||
"net"
|
"net"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/bjdgyc/anylink/base"
|
"github.com/bjdgyc/anylink/base"
|
||||||
|
@ -60,7 +61,9 @@ func startDtls() {
|
||||||
ExtendedMasterSecret: dtls.DisableExtendedMasterSecret,
|
ExtendedMasterSecret: dtls.DisableExtendedMasterSecret,
|
||||||
CipherSuites: []dtls.CipherSuiteID{
|
CipherSuites: []dtls.CipherSuiteID{
|
||||||
dtls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
dtls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
||||||
|
dtls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
||||||
dtls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
dtls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
||||||
|
dtls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
||||||
},
|
},
|
||||||
LoggerFactory: logf,
|
LoggerFactory: logf,
|
||||||
MTU: BufferSize,
|
MTU: BufferSize,
|
||||||
|
@ -124,17 +127,35 @@ func (ms *sessionStore) Del(key []byte) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 客户端和服务端映射 X-DTLS12-CipherSuite
|
||||||
|
var dtlsECDSA = map[string]dtls.CipherSuiteID{
|
||||||
|
"ECDHE-ECDSA-AES256-GCM-SHA384": dtls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
||||||
|
"ECDHE-ECDSA-AES128-GCM-SHA256": dtls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
||||||
|
}
|
||||||
|
|
||||||
|
var dtlsRSA = map[string]dtls.CipherSuiteID{
|
||||||
|
"ECDHE-RSA-AES256-GCM-SHA384": dtls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
||||||
|
"ECDHE-RSA-AES128-GCM-SHA256": dtls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
||||||
|
}
|
||||||
|
|
||||||
func checkDtls12Ciphersuite(ciphersuite string) string {
|
func checkDtls12Ciphersuite(ciphersuite string) string {
|
||||||
|
csArr := strings.Split(ciphersuite, ",")
|
||||||
|
|
||||||
if dtlsSigneType == dtlsSigneEcdsa {
|
if dtlsSigneType == dtlsSigneEcdsa {
|
||||||
|
for _, v := range csArr {
|
||||||
|
if _, ok := dtlsECDSA[v]; ok {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 返回默认值
|
||||||
return "ECDHE-ECDSA-AES256-GCM-SHA384"
|
return "ECDHE-ECDSA-AES256-GCM-SHA384"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, v := range csArr {
|
||||||
|
if _, ok := dtlsRSA[v]; ok {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 返回默认值
|
||||||
return "ECDHE-RSA-AES256-GCM-SHA384"
|
return "ECDHE-RSA-AES256-GCM-SHA384"
|
||||||
|
|
||||||
// var str2ciphersuite = map[string]dtls.CipherSuiteID{
|
|
||||||
// "ECDHE-ECDSA-AES256-GCM-SHA384": dtls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
|
||||||
// "ECDHE-ECDSA-AES128-GCM-SHA256": dtls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
|
||||||
// "ECDHE-RSA-AES256-GCM-SHA384": dtls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
|
||||||
// "ECDHE-RSA-AES128-GCM-SHA256": dtls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue