首页 / 知识
关于 ruby?? on rails:如何支持 SSL 客户端证书认证?
2023-04-13 06:28:00

How do I support SSL Client Certificate authentication?我想做 myopenid 做的事情——一旦你登录了,你可以点击一个按钮来为你生成一个 SSL 证书;浏览器然后下载此证书并存储它。当您稍后返回 yourid.myopenid.com 时,您的浏览器可以使用其存储的证书进行身份验证,因此您不需要密码。 所以我的问题是需要什么才能使其正常工作?如何生成证书?将它们呈现给我后如何验证它们? 我的堆栈是使用 Passenger 的 Rails on Apache,但我并不太特别。 这些通常被称为客户端证书。 我实际上并没有使用过它,但是可以在此处找到一个修改后的 restful-authentication 版本,看起来就像你所追求的那样。 我通过 Nic 博士的帖子找到了这个 取决于服务器,但我知道的最简单的解决方案是使用 Apache: FakeBasicAuth
不确定 Rails,但通常的 REMOTE_USER 环境变量应该可以通过某种方式访问??。 您可以使用特定于浏览器的代码在客户端浏览器中生成证书。看到这个问题 您还可以在 Ruby 中使用 OpenSSL 在服务器端生成 SSL 客户端证书(请参阅此 q)。 (这将在任何没有浏览器特定代码的浏览器中工作,但您的服务器将生成客户端的私钥,这对于加密纯粹主义者来说并不理想。) 无论您使用哪种方法生成它们,您都需要将您的网络服务器配置为需要客户端证书。有关示例,请参阅 Apache 文档。 如果你想生成证书,你需要让客户端生成一个密钥对,并且至少给你发送一个公钥。您可以通过 Javascript 调用在 Firefox 中执行此操作,它是 crypto.generateCRMFRequest。我猜在其他浏览器中也有特定于浏览器的方法。但首先,您需要弄清楚在获得公钥后如何颁发证书。 您可以使用 OpenSSL 在服务器上编写脚本,但它内置了对 CSR 的支持,而不是 Firefox 发送给您的 CRMF 格式。因此,您需要编写一些代码来将 CRMF 转换为 CSR,这将需要某种 DER 处理能力……我只是在这里触及表面——操作 CA,即使对于玩具应用程序,也不是微不足道的。 像 OpenId 和 PKI 解决方案这样的 SSO 解决方案确实存在重叠,而且 PKI 有一种优雅之处。但魔鬼在细节中,有充分的理由说明为什么这种方法已经存在了很长时间,但只在政府和军事应用中起飞。 如果您对此感兴趣,请跟进一些特定于您希望在其上开发 CA 服务的平台的问题。 我一直在努力解决这个问题。我想做同样的事情,我知道很多其他网站所有者都想要这个功能,不管有没有第三方提供商。 我创建了必要的服务器设置和一个 firefox 插件来处理基于证书的身份验证。前往 mypassfree.com 获取免费的 Firefox 插件。给我发电子邮件(该页面上的链接)以获取服务器设置,因为我还没有用一个不错的安装程序打包它。 服务器设置是 Apache2 OpenSSL Perl(但你可以用任何语言重写 perl 脚本) 乔纳森 |
最新内容
相关内容
python支持r语言吗?
python支持r语言吗?,代码,名称,培训,官网,第一,语言,对象,字符串,方法,后缀,python中可以支持r语言。python提供了一个模块rpy2,可以较好地完python支持多继承吗
python支持多继承吗,培训,代码,不了,上边,函数,属性,例子,父亲,定义,母亲,python多继承单继承有时候可能满足不了我们所需的所以我们就会遇到python是否支持字符串
python是否支持字符串,培训,数据,字符串,字符,引号,中文,内容,也就是,源程序,比如说,python要求,字符串必须使用引号括起来,可以使用单引号或者python怎么打开浏览器
python怎么打开浏览器,培训,标准,网址,模块,以上,方法,更多,内容,python打开浏览器的三种方法1.通过导入os模块,调用startfile方法来打开浏python支持哪些数据类型
python支持哪些数据类型,数字,标准,指数,培训,系统,浮点,布尔,表示,类型,个位,python基本数据类型一般分为:数字、字符串、列表、元组、字典、python不支持next方法吗
python不支持next方法吗,异常,培训,项目,方法,对象,元素,参数,函数,语法,文件,Python3中的File对象不支持next()方法。Python3有一个内置函数python浏览器能运行python吗
python浏览器能运行python吗,代码,平台,智能,培训,灵活,项目,文件,语法,插件,浏览器,py文件不是html文件,当然不能在浏览器里打开。py文件可以浏览器的默认CSS样式表
浏览器的默认CSS样式表,浏览器的默认CSS样式表,默认,浏览器,样式表,浏览,Browsers' default CSS stylesheets是否有针对不同浏览器关于缓存:如何强制客户端刷新JavaSc
关于缓存:如何强制客户端刷新JavaScript文件?,关于缓存:如何强制客户端刷新JavaScript文件?,放慢,正在进行,使用量,更改,How can I force关于安全性:禁用浏览器“保存密码”
关于安全性:禁用浏览器“保存密码”功能,关于安全性:禁用浏览器“保存密码”功能,医疗保健,政府,机构,我会,Disable browser 'Save Pa关于asp.net:是否有与IE的ClearAuth
关于asp.net:是否有与IE的ClearAuthenticationCache等效的浏览器?,关于asp.net:是否有与IE的ClearAuthenticationCache等效的浏览器?,应关于javascript:使用Ajax时如何保持
关于javascript:使用Ajax时如何保持浏览器历史同步?,关于javascript:使用Ajax时如何保持浏览器历史同步?,应用程序,异步,预加载,调用,How