小编Bry*_*yan的帖子

EventMachine中的TLS连接如何工作?

我有一个基于Protobuf的自定义协议,我已将其作为EventMachine协议实现,我想通过服务器和客户端之间的安全连接使用它.每次我从客户端向服务器发送消息时,我都会在消息前面加上一个4字节的整数,表示要发送的Protobuf序列化字符串的大小,以便服务器在解析之前知道要读取多少字节数.数据回到Protobuf消息.

我打电话start_tlspost_init同时在客户端和服务器协议处理程序回调方法,用一个中传递的服务器私钥和证书的服务器处理器.根据我正在打印的日志消息,在此阶段似乎没有发生错误.

我遇到麻烦的是当我开始receive_data在服务器的处理程序代码中解析回调中的数据时......我从线上读取4个字节的数据并将其解压缩为整数,但得到解压缩的整数不是相同的整数I从客户端发送(即我发送17,但收到134222349).

请注意,当我不使用TLS时,这不会发生...如果我删除start_tls客户端和服务器代码中的调用,一切正常.

是否在使用TLS时将SSL/TLS数据传递给receive_data回调?如果是这样,我如何知道客户端的数据何时开始?我似乎无法找到任何讨论此用例的示例代码...

ssl eventmachine

4
推荐指数
1
解决办法
1936
查看次数

如何在Golang中针对CRL验证客户端证书?

我正在使用ClientCAsClientAuth选项tls.Config在我的Go HTTP应用程序中进行基于证书的客户端身份验证.是否可以根据提供的CRL验证客户端证书?我在x509包中看到CRL周围有一些功能,但我不知道如何配置HTTP服务器来使用它们(即,似乎没有任何选项tls.Config会导致CRL也被使用) .

ssl go tls1.2

4
推荐指数
1
解决办法
3176
查看次数

是否可以将文件添加/提交到本地裸Git仓库的索引?

我正在搞乱Ruby Grit gem ...看看我如何使用它来管理/访问我正在运行的Gitosis服务器.有谁知道是否有可能将文件添加/提交到本地裸仓库,或者我是否需要设置本地"正常"仓库并使用SSH将其推送到本地主机上的裸仓库?

git grit

3
推荐指数
1
解决办法
438
查看次数

如何在Ruby中生成平均值遵循正弦波的随机数?

我不是数学家,所以我真的不知道我想做的是什么,但是我敢肯定有个名字。;-)

我想在Ruby中生成一个随机数数组,该数组的每个元素的平均值遵循正弦波。我的意思是每个元素的平均值nary[0..n].inject(:+).to_f / (n + 1)。因此,如果我从0..n随机数数组中循环并像我描述的那样生成平均值,我希望结果值遵循正弦波。我只是不知道如何以这种方式实际生成随机数...

# assuming `ary` is the array of random numbers
# I'm trying to figure out how to generate...

averages = []

(0..ary.size).each do |n|
  averages << ary[0..n].inject(:+).to_f / (n + 1)
end

# `averages` should plot as a sine wave now...
Run Code Online (Sandbox Code Playgroud)

ruby random

0
推荐指数
1
解决办法
1112
查看次数

标签 统计

ssl ×2

eventmachine ×1

git ×1

go ×1

grit ×1

random ×1

ruby ×1

tls1.2 ×1