Openssl生成CSR文件方法

一 下载OPENSSL,并解压缩到D:\OpenSSL目录下。

二 进入cmd执行下面命令

C:\Users\cakin>cd D:\OpenSSL\bin
C:\Users\cakin>d:
D:\OpenSSL\bin>openssl req -new -nodes -newkey rsa:2048 -keyout domain.key -out domain.csr
Loading 'screen' into random state - done
Generating a 2048 bit RSA private key
......................+++
....................+++
writing new private key to 'domain.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:sanxi
Locality Name (eg, city) []:xian
Organization Name (eg, company) [Internet Widgits Pty Ltd]:network technology
Organizational Unit Name (eg, section) []:IT
Common Name (eg, YOUR name) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

从Email地址开始,下面的信息都不需要,请保留为空,直接回车。

三 结果生成

1 生成CSR请求文件domain.csr,内容为:

-----BEGIN CERTIFICATE REQUEST-----
MIICmzCCAYMCAQAwVjELMAkGA1UEBhMCY24xDjAMBgNVBAgTBXNhbnhpMQ0wCwYD
VQQHEwR4aWFuMRswGQYDVQQKExJuZXR3b3JrIHRlY2hub2xvZ3kxCzAJBgNVBAsT
AklUMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAly8/5pHVTdnBjt+f
9INrdf5zLlxOsbLJAFwU3Nmub0roFF3GF/9K8i1XgOE/tQDADpi64vN5DbAbsptu
9Yo3KTdumYqd+piRkqBOpCVGeESK60xAeH3MczE5TZMOBG6Leek5NkAp8HQK73y4
Wj718kzYsxjGxG5kxYIR2T8kBOAuYILlVkIlzBinKY8oDtAixTL2grazYqy9Sd5L
jFLbPBVorZbxnPDMkqItbqv5v1PqtNkkUi4gaqMcGb9HwMQjyF7USBgU2dNw7OCv
Etg3sS1d84OJOWwrUqT4M03HMerv4is0Gq2kDh83YJ+DeXaNDeQshoW56lkTMnck
KSOrNQIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAFXPXmotrbGg8P5e7p2uu1Fu
nVpWGp0GotF5h9NKf3YsW1+edkXaoybM8tsevMYyNUwUg8Lp5r2VMW4bzfw049nL
8kVLRfArkRV2ag7BqJO/1WVqWLq3KBgjnQAsyFNuZtPR2e+4zTPBq5tz0lyNpNnB
PjeigrMKW5tCmRL00uc6WnNrw3enjeHRa+5epUitIrb18o0ojbAruCZxTQNYyG4a
lPBrGp4YUiGaxUPwRC/uSihuWoJfEjNVnMEsBphtr09x5Kddyr6fu3GTBsissRof
j7/WRp/BxQxmYjAruCDAx0P2oNRlNQV8il8uaiplNRS+RN5bsmRlrN8D2XBtNq8=
-----END CERTIFICATE REQUEST-----

2 生成KEY文件domain.key,内容为:

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAly8/5pHVTdnBjt+f9INrdf5zLlxOsbLJAFwU3Nmub0roFF3G
F/9K8i1XgOE/tQDADpi64vN5DbAbsptu9Yo3KTdumYqd+piRkqBOpCVGeESK60xA
eH3MczE5TZMOBG6Leek5NkAp8HQK73y4Wj718kzYsxjGxG5kxYIR2T8kBOAuYILl
VkIlzBinKY8oDtAixTL2grazYqy9Sd5LjFLbPBVorZbxnPDMkqItbqv5v1PqtNkk
Ui4gaqMcGb9HwMQjyF7USBgU2dNw7OCvEtg3sS1d84OJOWwrUqT4M03HMerv4is0
Gq2kDh83YJ+DeXaNDeQshoW56lkTMnckKSOrNQIDAQABAoIBAF3Y/Me5+zkKVXbF
Jlv4QHrMat96eXchTlik0GaP0hJP42TRGSjIVtOihdEBAjTvtEjbUheTn695hJgI
mIZfOAKj4En7nDl0/9iPHoISiX4avkl12gdxv7o58iJPiMIDhR02Q0eD6QTUY/1p
5F5Q+wdf4Jy8YpaJGJDqPv4mjctgEedzcZ+B0tNTifB0K2koo/+zaXM5nuW4gaHI
kFG2/aCxWVB/x1XCumx4XOePgU6qRPDJ0j2C7UbNZVuEBem7Zi64wee67ahMvjsU
vehUFcmAZ+PtNv3CIzpVqMYBHZd1zSnH/sy93tpJXLEiayt9Vk7GVv6JTxVx3Btt
/k5/fkECgYEAxt8UYwE+hFfZ4tV+5DY7lrYoFfdQ0y4Z6pIxBkjUfeKvc1eu7mK3
VQyXaFQXD8+x0n/CvceU87qE2MBaQFYjWJL7wsOeH9+rlDIGsnvGcCeTSKUwA/Sv
fKOA1qg+WUq8kZhh7+Np8FzQISW8DVGH9q8QoXzythQ5k3b//AXD1tkCgYEAwp1M
xf92ROgA6gjKGiedykQujK8SJO0HeAZvZmY4m5lDXGk+QvNHsyiKQGdWa/ewxYoo
/s3Sgj7OtateDDNVBHvo5dfP0YqfB7xBRNyHRrQDdvqzp6IWrKrhtfcU5NgexWP+
jKpd0bhuUVP6E1xsLbWZRiobDZxMuJ9zHlf4Vb0CgYAOQxlXMFOnchVyKxV6kFkd
qdqeGKp3OqspI2rYpIh4rrUedH9bIUE8nDaPiNhOjfqWugrhSVrpT8sPMFxImOTY
CVJ82UKRzpyjeCL60d2dVXk+kHotDnM3YRJwUoiGJtH3LxJ2/bwvPLjAZ9BgtCQo
EM4Ehs1xOWoXpUUecdtloQKBgEXJfHdf5TxOac2Cu15nqGiYzIx8VyhQqyX6QMZa
j6AUdJhV0RLXBHYVaoYvyEjNOGGN6qd8jSlRdnSk8AO2AJ2sBVcubYJ5kA+JDWqx
Hf1XngpzWisZr8HZQTksUhzB9z7XXbd5fE0xMrYNRBbfRJebkEwd2zelPcnSu8g8
yXuNAoGADifsLomK1cOevhySVirXBMwUdcgb4rSqqLxUMBt7RIZJOYVr6Bu5pFRn
eM4lGHby9CaX7tOPtS0O15yW1wdKePPI2AYBHQTjANOUKCAKQ3veXsmD9+F7HYP4
n+BUOWjdYBdVuJGVvqHvaEE7hfPrFoGIsYMmKu8jy3AjSMn+PiI=
-----END RSA PRIVATE KEY-----

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 C 语言中使用 OpenSSL生成 CSR,可以按照以下步骤: 1. 包含 OpenSSL 库头文件和链接库: ```c #include <openssl/rsa.h> #include <openssl/pem.h> #include <openssl/err.h> #pragma comment(lib, "libeay32.lib") #pragma comment(lib, "ssleay32.lib") ``` 2. 生成 RSA 密钥对: ```c RSA *rsa = RSA_generate_key(2048, RSA_F4, NULL, NULL); ``` 这将生成一个 2048 位的 RSA 密钥对。 3. 创建 X509_REQ 对象: ```c X509_REQ *req = X509_REQ_new(); ``` 4. 设置 CSR 的主题信息: ```c X509_NAME *name = X509_REQ_get_subject_name(req); X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, "example.com", -1, -1, 0); ``` 这里将 "CN" 设置为 "example.com",可以根据需要修改。 5. 将公钥添加到 CSR 中: ```c X509_REQ_set_pubkey(req, rsa); ``` 6. 签名 CSR: ```c X509_REQ_sign(req, rsa, EVP_sha256()); ``` 7. 将 CSR 写入文件: ```c FILE *fp = fopen("example.csr", "wb"); if (fp) { PEM_write_X509_REQ(fp, req); fclose(fp); } ``` 完整的示例代码可以参考以下代码: ```c #include <openssl/rsa.h> #include <openssl/pem.h> #include <openssl/err.h> #pragma comment(lib, "libeay32.lib") #pragma comment(lib, "ssleay32.lib") int main(void) { RSA *rsa = RSA_generate_key(2048, RSA_F4, NULL, NULL); X509_REQ *req = X509_REQ_new(); X509_NAME *name = X509_REQ_get_subject_name(req); X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, "example.com", -1, -1, 0); X509_REQ_set_pubkey(req, rsa); X509_REQ_sign(req, rsa, EVP_sha256()); FILE *fp = fopen("example.csr", "wb"); if (fp) { PEM_write_X509_REQ(fp, req); fclose(fp); } X509_REQ_free(req); RSA_free(rsa); return 0; } ``` 这将生成一个名为 "example.csr" 的 CSR 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值