Closed li-yuelun closed 9 months ago
提供代码前端,我明天看看
我自己是在0.3.7的版本上改的 是这样实现的
注册
var redis = new RedisClient(
$"127.0.0.1:5555,password=password,defaultDatabase=11,ssl=true,retry=60000");
redis.Serialize = obj => JsonConvert.SerializeObject(obj);
redis.Deserialize = (json, type) => JsonConvert.DeserializeObject(json, type);
redis.userCertificateSelectionCallback += delegate
{
return SelectLocalCertificate("ca.crt");
};
redis.userCertificateValidationCallback += ValidateServerCertificate;
RedisClient 更改
添加属性
public event RemoteCertificateValidationCallback userCertificateValidationCallback;
public event LocalCertificateSelectionCallback userCertificateSelectionCallback;
DefaultRedisSocket 更改
添加属性
public event RemoteCertificateValidationCallback userCertificateValidationCallback;
public event LocalCertificateSelectionCallback userCertificateSelectionCallback;
构造函数
public DefaultRedisSocket(string host, bool ssl, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback)
{
Host = host;
Ssl = ssl;
CertificateSelection = userCertificateSelectionCallback;
CertificateValidation = userCertificateValidationCallback;
}
然后再设置下SslStream就行了
v1.2.5
ConnectionStringBuilder connectionString = "127.0.0.1:5555,password=password,defaultDatabase=11,ssl=true,retry=60000";
connectionString.CertificateSelection += delegate
{
return SelectLocalCertificate("ca.crt");
};
connectionString.CertificateValidation += delegate
{
return true;
};
var redis = new RedisClient(connectionString);
感谢
目前库中有 sslStream 但应该没有添加证书的方法。 是否可添加如下图的方法, 谢谢