我正在尝试生成X.509
格式的私钥/公钥对以及需要用于SAML应用程序的自签名证书。
这是我所做的:
.pem
格式。openssl rsa -in key.pem -pubout -out pubkey.pem
当我将这些密钥提供给我的SAML应用程序时,它会错误显示在步骤2中生成的公共密钥,并显示以下消息:
java.io.IOException: Short read of DER length
我在这里做错了什么?
答案 0 :(得分:1)
问题:
我正在尝试生成X.509格式的私钥/公钥对以及需要用于SAML应用程序的自签名证书。
答案:
(1)在Ubuntu 16.04上,我运行以下本机openssl命令以成功为Shibboleth SAML SP应用程序生成X.509格式的私钥/公钥对。
openssl genrsa -out key.pem 2048 -days 365
openssl req -new -key key.pem -out certreq.csr
openssl x509 -req -in certreq.csr -signkey key.pem -out cert.pem
(2)我将Shibboleth SAML SP应用程序生成的公共证书/密钥(即cert.pem)上传到Shibboleth SAML IdP。
(3)我通过Shibboleth SAML IdP和OpenLDAP提供的身份验证成功登录到Shibboleth SAML SP应用程序。
备注:
(I)请确保IdP或SP数据库为Type定义了足够的长度,用于存储公共证书/密钥或私钥,例如varchar(2500)。
(II)如果在Windows环境下运行openssl命令,请检查我的答案是否有另一个StackOverflow问题Git status ignore line endings / identical files / windows & linux environment / dropbox / mled,以从私钥和公共证书/密钥的末尾删除“过早的EOF”。
GitHub存储库上的(III)How to build and run Shibboleth SAML IdP and SP using Docker container提供了有关如何构建和运行Shibboleth SAML IdP和SAML SP测试平台以测试您的SAML SP应用程序的说明。
独立的Shibboleth SAML IdP测试平台可让您检查日志以调试证书问题。