如何使用私钥和公钥创建自签名x509证书?

问题描述 投票:0回答:3

我正在使用 SAML2 和 ADFS2 (IdP) 创建 SSO“概念验证”。 登录工作正常,但是 ADFS2 要求对我的注销请求进行签名(使用私钥),然后我想我会在依赖方信任的“签名”选项卡下添加相同的证书(.cer 文件)在 ADFS2 中。 唯一的问题是我的应用程序(服务提供商)没有证书。 我知道我可以为此目的创建一个自签名证书,但我似乎不知道如何创建一个包含我需要的一切的证书。

single-sign-on x509certificate adfs2.0 saml-2.0
3个回答
27
投票

为了生成自签名证书,您需要 openssl 库,因此:

Debian:

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


3
投票

在整理 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 文件,根据需要包含或不包含私钥信息。


0
投票

在此输入图片描述

~/.redisclirc/.pine

© www.soinside.com 2019 - 2024. All rights reserved.