什么是传递给ssl verify_fun函数的UserState变量

时间:2018-05-21 13:45:18

标签: ssl erlang cowboy

我一直在努力让证书固定工作,我注意到最初传递给UserState中定义的函数的verify_fun变量。证书有效时会返回此变量,但我在文档中找不到任何其他提及。

我想从证书中存储一些信息,以便稍后验证客户端。我可以在UserState中传递这些信息,然后在我的网络服务器(牛仔)中检索它们。或者我最好只是在verify_fun验证证书并从牛仔内部访问证书信息?

1 个答案:

答案 0 :(得分:1)

路径验证后,您无法检索UserState的最终值。此参数仅用于将信息传递到路径验证循环的下一阶段:verify_fun将针对证书链中的每个扩展和问题调用一次。首先,它将初始UserState作为参数,并且在每个步骤中它都可以返回一个新的UserState以用于下一步。

因此,您应该仅使用verify_fun进行路径验证。您将不得不在以后再次检索客户端证书,以收集和存储来自它的任何数据。