php - 在 Apache 服务器上使用 OpenSSL 进行单点登录

标签 php ssl openssl single-sign-on x509

我是 OpenSSL 世界的新手,正在尝试在我基于 PHP 的应用程序上实现 SSO。我已经设置了 OpenSSL 库和 PHP openssl 扩展。

现在,我需要知道的是,我需要采取哪些步骤以及在哪里可以找到相关引用。我的要求是

1- 将向用户提供证书,浏览器将提交该证书以使用 SSL 进行客户端身份验证。 2- 用户不需要通过漫长的登录身份验证过程,证书将与服务器握手。 3- 证书将是自签名的,或者我的公司将成为每个证书的 CA。

请指导我如何在基于 PHP 的应用程序上设置所有这些东西,并遵循所有步骤。

最佳答案

这很容易。配置您的客户端证书,配置您的网络服务器以验证客户端证书,然后将您的浏览器指向:

<?php phpinfo(); ?>

...您将看到在哪里可以检索详细信息以及它们的格式/引用方式。

(PHP openSSL 扩展与身份验证无关 - 详细信息均由 CGI 从 mod_ssl 传递)

C.

关于php - 在 Apache 服务器上使用 OpenSSL 进行单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130755/

相关文章:

ssl - javax.net.ssl.SSLHandshakeException : Remote host closed connection during handshake in JMeter的解决方案

openssl - 为什么我在尝试 SSL_write 时收到 "error:1409F07F:SSL routines:SSL3_WRITE_PENDING: bad write retry"错误?

php - 使用 facebook 事件 API 在创建时将封面照片上传到 facebook 事件

php - 让 PHPStan 理解 Laravel Eloquent Builder query()

security - 在同一 TCP 连接中使用不同的 TLS 记录版本

php - curl 错误 (58) : unable to set private key file: '/var/www/work/xml/keys/client.pem' type PEM

c++ - 写入:执行 boost::asio::async_write 时出现单元化错误

PHP/MySQL - 特定用户的特定页面

php - Paypal - 返回 $_GET 的 URL 数组

Java拒绝浏览器接受的证书