我正在使用SAML2和ADFS2(IdP)创建SSO“概念证明”。登录工作正常,但ADFS2要求我的Logout请求被签名(使用私钥),然后我想我会在我的信赖方信任中的签名选项卡下添加相同的证书(.cer文件)在ADFS2中。唯一的问题是我的应用程序(服务提供商)没有证书。我知道我可以为此目的创建一个自签名证书,但我似乎无法弄清楚如何创建一个我需要的东西。
答案 0 :(得分:11)
为了生成自签名证书,您需要openssl库,所以:
的Debian:
apt-get install openssl
的Centos / RedHat的:
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
答案 1 :(得分:4)
在整合ADFS概念验证时,我使用了适用于Windows的SelfSSL工具。具体来说,这个人has an enhanced version用于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文件。