我正在使用 SAML2 和 ADFS2 (IdP) 创建 SSO“概念证明”。登录工作正常,但是 ADFS2 要求对我的注销请求进行签名(使用私钥),然后我想我会在我的依赖方信任中的签名选项卡下添加相同的证书(.cer 文件)在 ADFS2 中。唯一的问题是我的应用程序(服务提供商)没有证书。我知道我可以为此创建一个自签名证书,但我似乎无法弄清楚如何创建一个包含我需要的一切的证书。
2 回答
为了生成自签名证书,您需要 openssl 库,因此:
德比安:
apt-get install openssl
Centos/红帽:
yum install openssl
然后按照以下 3 个步骤操作:
生成私钥:
openssl genrsa -out server.pem 2048
生成 CSR:(在“通用名称”中设置您的服务提供商应用程序的域)
openssl req -new -key server.pem -out server.csr
生成自签名证书
openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt
在流程结束时,您将获得 server.csr(证书签名请求)、server.pem(私钥)和 server.crt(自签名证书)
在 Windows 中,您可以使用makecert.exe
在组合 ADFS 概念证明时,我使用了适用于 Windows 的 SelfSSL 工具。具体来说,这家伙有一个IIS7的增强版。
示例命令:
selfssl7.exe /N cn=www.example.com /K 2048 /V 3652 /X /F C:\example.pfx /W foo
使用 2048 位密钥生成“example.pfx”文件,有效期约为 10 年,密码“foo”保护私钥,通用名称为“www.example.com”。您可以将其导入本地计算机的证书存储,然后根据需要将其导出为带有或不带有私钥信息的 .cer 文件。