我想在c#中读取csr的内容,但是我没有找到任何方法在c#中执行此操作.我发现的是命名空间System.Security.Cryptography.X509Certificates,但它只处理现有证书,而不是证书请求:/
任何人都可以给我一个提示吗?提前致谢.
乔治
根据这个:http://en.wikipedia.org/wiki/Certificate_signing_request CSR可以包含一个电子邮件地址.
我的问题是,如果我用keytool生成CSR,我该如何添加这样的电子邮件地址字段?
谢谢.
我注意到OpenSSL和certreq生成PKCS10 CSR的方式有细微的差别:
OpenSSL:
-----BEGIN CERTIFICATE REQUEST-----
Run Code Online (Sandbox Code Playgroud)微软certreq
:
-----BEGIN NEW CERTIFICATE REQUEST-----
Run Code Online (Sandbox Code Playgroud)(以及相同的页脚,但END除外)
该PKCS10规范并没有对这些页眉/页脚的任何信息,所以我怀疑他们是不是规范的一部分。我希望能够处理尽可能多的CSR格式,因此:
CSR的“ BEGIN”标头有规范吗?
另外:是否存在其他形式的CSR标头?不是opensl或certreq的CSR生成工具使用什么?
我跟着
https://godaddy.com/help/windows-generate-csr-for-code-or-driver-signing-certificate-7282
生成CSR以请求代码签名/软件发布证书的指南.
在管理控制台中,当我右键单击"证书",然后转到"所有任务">"高级操作">"创建自定义请求"并单击"下一步"时,我找不到"Active Directory注册策略"进行选择.
我不知道是否需要下载任何模板或生成一些自定义策略以及如何?
我使用的是Windows 8,我的用户帐户不在任何活动目录域下,也没有管理任何活动目录.
我不确定是否是提出这个问题的正确论坛.请原谅我,并指导我到正确的论坛,如果不是的话.
我正在努力使用允许我在不使用 keytool 的情况下从 java 代码生成和签署证书的代码。此外,由于依赖性问题和不兼容性,我无法使用 bouncycastle 库。
到目前为止,我找到了使用给定参数生成 CSR 的工作代码,它似乎工作(至少openssl
工具验证它确实是一个有效的 CSR)我找到的代码在这里:
http://www.journaldev.com/223/generate-a-certificate-signing-request-using-java-api
由于X500Signer
jdk7 中缺少类,它可以通过简单的修改工作。
如何使用我自己的 CA 签署此 CSR(我在 openssl 生成的文本文件中有 CA 密钥和证书)
要在OpenSSL中签署证书,我X509_sign()
通过向请求(as X509_REQ*
),签名密钥和摘要提供函数来使用函数.
现在我的签名密钥存储在HSM中,因此我无法提取它来签署证书.不幸的是,PKCS#11没有提供相当于X509_sign()
.它拥有的是C_Sign() / C_SignUpdate() / C_SignFinal()
一系列功能,它们对原始数据进行操作,而不是对证书进行操作.
有人可以帮助我使用示例C/C++代码如何使用PKCS#11签署使用OpenSSL创建的证书吗?
我使用以下命令生成CSR:
openssl req -nodes -newkey rsa:2048 -keyout mytestserver.key -out mytestserver.csr
Run Code Online (Sandbox Code Playgroud)
我尝试mytestserver.csr
使用以下PHP代码解码:
<?php
$mydata="-----BEGIN CERTIFICATE REQUEST-----
MIICyDCCAbACAQAwgYIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOSDEQMA4GA1UE
BxMHQ29uY29yZDESMBAGA1UEChMJTXljb21wYW55MQswCQYDVQQLEwJJVDETMBEG
A1UEAxMKbXl0ZXN0LmNvbTEeMBwGCSqGSIb3DQEJARYPdGVzdGVyQHRlc3QuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3CcljODQKIJQ9xnPFydW
E6fRphmfxtDZF46/J6jT7ctzG3Mv//8p9ene60BCDIWdWiDXvUUUc02nb/qiiaP5
lALl6XeLKOKs6ZEC/lknDfgOBSjqvLz+UzlOXjRdhBpaawaEbVw4rh6idHWIOFGT
lzuHmE8YBmJ7R+tfhmEETk5XtPRZ3RL173HH2R/f2YCh0uhMr4GqXVfHtWrkpiw7
gXjvaXFeQhslTSP7Pru8j39uYKqubwLTyJ1uoqHVVOIqmswz+WfSvn+c86VK44p0
oQQnFL1gHoUWBHSbTmU49ufOWog9oLHOo9GUnMRg9TntGL0s55rfmSTZ+qtyB8Lc
7wIDAQABoAAwDQYJKoZIhvcNAQEEBQADggEBALglJeJUBEmxTy1hE0jG4cPAaJe5
FOqaVCUDm4YeoTpLfYLgE7ZkWuqkhZdw4TR9wu4DkiYo9z94avrKzFj2Kq1JHjUX
weYAHzGxtFO2IUuz7DSGfSvfJ0mMkAH+QtaxNUV2olnrdA8T5hRzgbZT2RTCc0GV
iSyCKXj4O/yRt0lbBCdM/Lja3Yga2BrFtvcsqnaDO6kIj+x1YCpL3cpRsm+3XbvH
dE02+hB/iHC0bE4lQciPCASOiXbMWASWxofFjyRCP+Ha+np/FqoxRF6DIUu10dCS
wV2kkbQQhNsFuMzCJvYudsmG1ULUfjUTvCAgO9kdBweNg3nklzetoSWoE5k=
-----END CERTIFICATE REQUEST-----";
print ("\r\n begin");
print_r(openssl_x509_parse($mydata));
print ("\r\n end");
Run Code Online (Sandbox Code Playgroud)
但它给出了一个空洞的结果.
有没有想过如何使用PHP的OpenSSL库来解码我生成的RSA CSR?
我目前已将 GitHub 页面与 namecheap.com 的域名连接起来。我最近也从 NameCheap 购买了 SSL 证书。
如何从 GitHub 获取 CSR 来配置 SSL 证书?
我已经使用 openssl 创建了 CSR,并且希望 Microsoft CA 使用命令行以 WebServer 模板对其进行签名。
因此,我完成了生成 RSA 密钥、为 CSR 创建 YAML、使用 kubectl 在 Minikube 中创建 CSR、批准证书的过程。
但是,当我尝试使用下载证书时,kubectl get csr my-csr -o jsonpath='{.status.certificate}'
我得到的结果为空。
当我kubectl get csr my-csr -o yaml
获取更多信息时,我看到的是:
status:
conditions:
- lastUpdateTime: "2020-01-17T20:17:20Z"
message: This CSR was approved by kubectl certificate approve.
reason: KubectlApprove
type: Approved
Run Code Online (Sandbox Code Playgroud)
我期待一个带有 base64 编码字符串的证书属性,我将对其进行解码以获取用于客户端证书验证的证书。有人可以告诉我我做错了什么吗?
有关更多上下文,我尝试按照本教程中的说明进行操作