相关疑难解决方法(0)

即时生成自签名证书

我四处搜寻,但没有找到一个明确的例子. 我想按照以下步骤以编程方式(c#)创建自签名(自我)可信证书:

步骤1:动态 创建根CA证书并将其添加到"受信任的根证书颁发机构"文件夹中的证书存储区

我想要完成这个命令行工具的功能:

makecert.exe -sk RootCA -sky签名-pe -n CN = MY_CA -r -sr LocalMachine -ss根MyCA.cer

第2步: 根据以前创建的根CA证书创建证书,并将其放入证书存储区"Personal"文件夹中

我想要完成这个命令行工具的功能:

makecert.exe -sk server -sky exchange -pe -n CN = 127.0.0.1 -ir LocalMachine -is Root -ic MyCA.cer -sr LocalMachine -ss My MyCertificate.cer

我想得到这个:
在此输入图像描述

我这样做了(参见下面的代码 - 第1步),不知道如何制作STEP2,任何帮助都将不胜感激.目标计算机是Windows XP/Seven. 我尝试了纯粹的.net方法和BouncyCastle库.

makecert.exe -sk RootCA -sky signature -pe -n CN=MY_CA -r -sr LocalMachine -ss Root MyCA.cer
Run Code Online (Sandbox Code Playgroud)

.net c# bouncycastle ssl-certificate x509certificate

34
推荐指数
5
解决办法
5万
查看次数

使用纯.net Framework生成和签署证书请求

我正在尝试使用纯.net代码来创建证书请求,并根据我可用的现有CA证书(在Windows证书存储区中或作为单独的文件)从证书请求创建证书.

我知道我有类X509CertificateX509Certificate2可供加载证书并访问他们的信息,但我没有看到中的任何类或功能System.Security.Cryptography,可以用来创建证书请求或签署这样的证书请求创建命名空间新签名证书.

虽然关于System.Security.Cryptography.Pkcs命名空间文档说:

System.Security.Cryptography.Pkcs命名空间提供公钥加密标准(PKCS)的编程元素,包括签名数据,交换密钥,请求证书,公钥加密和解密以及其他安全功能的方法.

那么,如何创建证书请求并使用纯.net类来签署该请求以创建新的X509证书System.Security.Cryptography


注意:

  • 我不想使用像openssl或MakeCert这样的外部可执行文件
  • 我不想使用BouncyCastle
  • 我不想使用Windows 证书注册API
  • 我不想使用本机Win32 API函数

.net c# cryptography system.security

19
推荐指数
2
解决办法
1万
查看次数