Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2cb97aa

Browse files
author
Josef Fröhle
committed
fix(pem): allow utf8 charset in fields
Signed-off-by: Josef Fröhle <[email protected]>
1 parent 1dd024a commit 2cb97aa

File tree

10 files changed

+438
-47
lines changed

10 files changed

+438
-47
lines changed

lib/pem.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ function createCSR (options, callback) {
216216
}
217217

218218
var params = ['req',
219+
'-utf8',
219220
'-new',
220221
'-' + (options.hash || 'sha256')
221222
]
@@ -449,6 +450,7 @@ function getPublicKey (certificate, callback) {
449450

450451
if (certificate.match(/BEGIN(\sNEW)? CERTIFICATE REQUEST/)) {
451452
params = ['req',
453+
'-utf8',
452454
'-in',
453455
'--TMPFILE--',
454456
'-pubkey',
@@ -462,6 +464,7 @@ function getPublicKey (certificate, callback) {
462464
]
463465
} else {
464466
params = ['x509',
467+
'-utf8',
465468
'-in',
466469
'--TMPFILE--',
467470
'-pubkey',
@@ -497,7 +500,7 @@ function readCertificateInfo (certificate, callback) {
497500
var params = [type,
498501
'-noout',
499502
'-nameopt',
500-
'RFC2253,sep_multiline,space_eq',
503+
'RFC2253,sep_multiline,space_eq,-esc_msb,utf8',
501504
'-text',
502505
'-in',
503506
'--TMPFILE--'
@@ -836,7 +839,7 @@ function checkCertificate (certificate, passphrase, callback) {
836839

837840
openssl.spawnWrapper(params, certificate, function (sslErr, code, stdout, stderr) {
838841
function done (err) {
839-
if (err && err.trim() !== 'verify OK') {
842+
if (err && err.toString().trim() !== 'verify OK') {
840843
return callback(err)
841844
}
842845
var result
@@ -965,11 +968,11 @@ function fetchCertificateData (certData, callback) {
965968
subject = subject[0]
966969
tmp = matchAll(subject, /\s([a-zA-Z0-9.]+)\s=\s([^\r\n].*)/g)
967970
for (i = 0; i < tmp.length; i++) {
968-
ky = tmp[i][1].toString()
969-
if (ky.match('(C|ST|L|O|OU|CN|emailAddress|DC)')) {
971+
ky = tmp[i][1].trim()
972+
if (ky.match('(C|ST|L|O|OU|CN|emailAddress|DC)') || ky === '') {
970973
continue
971974
}
972-
certValues[ky] = tmp[i][2].toString()
975+
certValues[ky] = tmp[i][2].trim()
973976
}
974977

975978
// country

test/fixtures/cn_openssl.crt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
34+
-----END CERTIFICATE-----

test/fixtures/cn_openssl.csr

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
-----BEGIN CERTIFICATE REQUEST-----
2+
MIIDCDCCAfACAQAwgYoxFTATBgNVBAMMDOS4reWbvemTtuihjDEfMB0GCSqGSIb3
3+
DQEJARYQZW52ZWtAZW52ZWsubmFtZTEbMBkGA1UECgwS5rOV5YWw5YWL56aP5YiG
4+
6KGMMRIwEAYDVQQLDAnlhYvnpo/liIYxEjAQBgNVBAcMCeWFsOWFi+emjzELMAkG
5+
A1UEBhMCUlUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqhXFd9CPZ
6+
FQzzPGQL8mdPHNLg2xxbcDLUtT7S1B3L1cOBacb9cF6bEUqeIUqZILcTgHODb/Oh
7+
/HSyzwVo1LspqjAbP3e/eBrqkkCo7fH1I6iaKK6CqGv7232YgNKA0i5FXjV7VDGO
8+
ewA5foQVqk5G/PlNhO79vIBDf+7dGHKpn8rCrf7OtBsvtVruMruA++1Sqpf2Vd+f
9+
X+sCr2SvlJbddt66MycICv7kg05sJ/fEYuQQMj1VeRn2ZVbx+K6eKGIl6Z4ow7Y0
10+
/jqlP1UTFpDGLp0MelAUtm9ytDmyclFCfBk371H9K16gkM8dppG0CKMdjrfSP5a5
11+
MGu6DdloawUxAgMBAAGgODA2BgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCC2V4
12+
YW1wbGUuY29tgg0qLmV4YW1wbGUuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQBu3ROV
13+
8aDYNWTi2+qwC8XbMV/07Pj+SQ9MI8PT8ePh3DTIzYsFGO0eO3yKRS6srPd8bkGN
14+
6YFcot3/9XQdHbCeBJo/O0bTinqTd8yHlgsfymj83zdIZTIxeRsW3cmKA/swjDAC
15+
p5fMSWYNID5ChaFz+B7H7Pcoisu+aIAaKw8zzLW1uWwzv5xnLSS1aeRE/FSiSs76
16+
zP8Jedpfc8F4FVyswgp6QTQVgf9RLg9UTLbv/wqXi/R/MYvSRLDVNwZl09Ky9Q+N
17+
ErbreM847nGGyY+yAk6JRwhuiqbjxMSfRpzezbGEaea/VH/7+OqnEPtaZBV8rOqu
18+
2WO/PNGuXswH8x/e
19+
-----END CERTIFICATE REQUEST-----

test/fixtures/cn_openssl.key

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
arLIdCWiu5/CkI+NEdAJShlznkh4nQ==
52+
-----END PRIVATE KEY-----
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# openssl req -new -utf8 -nameopt multiline,utf8 -config Dokumente/git/dexus-pem/test/fixtures/cn_openssl_config.conf -newkey rsa:2048 -nodes -keyout Dokumente/git/dexus-pem/test/fixtures/cn_openssl.key -out Dokumente/git/dexus-pem/test/fixtures/cn_openssl.csr
2+
# openssl req -x509 -newkey rsa:4096 -sha256 -utf8 -days 365 -nodes \
3+
-config Dokumente/git/dexus-pem/test/fixtures/cn_openssl_config.conf \
4+
-keyout Dokumente/git/dexus-pem/test/fixtures/cn_openssl.key \
5+
-out Dokumente/git/dexus-pem/test/fixtures/cn_openssl.crt
6+
7+
HOME = .
8+
RANDFILE = $ENV::HOME/.rnd
9+
10+
[CA_default]
11+
copy_extensions = copy
12+
13+
[req]
14+
default_bits = 4096
15+
prompt = no
16+
string_mask = utf8only
17+
utf8 = yes
18+
default_md = sha256
19+
distinguished_name = dn
20+
x509_extensions = v3_ca
21+
22+
[dn]
23+
CN = 中国银行 # Site description
24+
emailAddress = [email protected]
25+
O = 法兰克福分行 # My company
26+
OU = 克福分 # My dept
27+
L = 兰克福 # Moscow
28+
C = RU
29+
30+
[v3_ca]
31+
basicConstraints = CA:FALSE
32+
keyUsage = digitalSignature, keyEncipherment
33+
subjectAltName = @alternate_names
34+
35+
[alternate_names]
36+
DNS.1 = example.com
37+
DNS.2 = *.app.example.com
38+
DNS.3 = www.example.com

test/fixtures/ru_openssl.crt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIGTTCCBDWgAwIBAgIJAIHtPbhZDAgJMA0GCSqGSIb3DQEBCwUAMIG5MSQwIgYD
3+
VQQDDBvQntC/0LjRgdCw0L3QuNC1INGB0LDQudGC0LAxHzAdBgkqhkiG9w0BCQEW
4+
EGVudmVrQGVudmVrLm5hbWUxIDAeBgNVBAoMF9Cc0L7RjyDQutC+0LzQv9Cw0L3Q
5+
uNGPMSowKAYDVQQLDCHQnNC+0ZEg0L/QvtC00YDQsNC30LTQtdC70LXQvdC40LUx
6+
FTATBgNVBAcMDNCc0L7RgdC60LLQsDELMAkGA1UEBhMCUlUwHhcNMTgwOTExMjAy
7+
NjU1WhcNMTkwOTExMjAyNjU1WjCBuTEkMCIGA1UEAwwb0J7Qv9C40YHQsNC90LjQ
8+
tSDRgdCw0LnRgtCwMR8wHQYJKoZIhvcNAQkBFhBlbnZla0BlbnZlay5uYW1lMSAw
9+
HgYDVQQKDBfQnNC+0Y8g0LrQvtC80L/QsNC90LjRjzEqMCgGA1UECwwh0JzQvtGR
10+
INC/0L7QtNGA0LDQt9C00LXQu9C10L3QuNC1MRUwEwYDVQQHDAzQnNC+0YHQutCy
11+
0LAxCzAJBgNVBAYTAlJVMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
12+
mG1gvqlNWIPvUKA5um5GdOUssI5R9MdjoUBFVaZKva8DRDGyI/TcHUmfx2DfiDX3
13+
Xaa6iez7E4LYvKwiMqmYFSZZa5fVlYz2ggbmldudTnoc7pWzsDafhIwfEVuZAftC
14+
J/LvjIDSZcItPCe+lCwzkLZSZNeR4xS4IUKpMcd2q+8YA1SgBynsNWHU/yv0YVKX
15+
O25bpCvlWXi+5gNt06gZv9gcCH9PsrMJb0S3ZozeG/VLb056zuUUic8URzhuhdJU
16+
0OaXAImRaN7LDE9Ya1gitbvKyP5a93pxIb+B95Gs0YTb98QAYeMChkhdETOww4aJ
17+
hyROJJci/uS/einmAn3AHv9qkFjC9erMvejnaQlTl6hFKtVc3vbvWLfLoGBV4vB5
18+
tI1O6Bht6m/SOMJ7bFA8T/v+Sp0iWFyGiUFuLUxnLb3sWbrjnp5WWRJXcqmbnV/I
19+
yJu1+4YrdqsWF5LMCmZZNynUiBEjICcLWGIdXsUcRFQRRs4hTdxZO9+gwEPIM32t
20+
2QQKmqWuElIWNsRqQ5o9UTUorT+qPSAi2ajeDHh31yzqTRTm7DG6rieJfI7JvYdv
21+
rTSD7zsK51Y/wmNB43JnRDaIo3zPA4J2c/WO1HQd+LUsJqTdS74j5ac+9NJM8PJY
22+
ZOTKQ2oJ2BMYDuJLV9cG4vz6VoGZSV99bBwE/Fbdm/MCAwEAAaNWMFQwCQYDVR0T
23+
BAIwADALBgNVHQ8EBAMCBaAwOgYDVR0RBDMwMYILZXhhbXBsZS5jb22CESouYXBw
24+
LmV4YW1wbGUuY29tgg93d3cuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggIB
25+
AIiEFg9fRBEPQlfGH/fL3BLFT5al+oZPT3G+AYefMfMg7gXl07uBXCpOzhSfxoWw
26+
to2wvORN3Du4vjRbeCLXYAuLX0jz/TgfRDlomLz7u9FND/YftsrLVGvdUE/SPfDm
27+
vPvwA8ga0hNytHJIUFdXSjikCcY2EdBy9c06OW3q9AUEIvlFMexe+aJ8N0y7j5oU
28+
K+2GWqhXR9boqcPIH5l48lYYKlhtpK6lBF1w/EqTxhXZYYRUOtfhPu5+Z/w2sgzF
29+
HtbChDNX7u0IDCTJlQtkbLv7PV0k/PAVkf6ublexfoGhSaycCT75J3KMKofB+8/K
30+
WpymjMtWWHaTVGzbd7ipdXdY/cRqN5qAgiArxYKaYNCu6UUEF/MD38dVjnymD1mN
31+
rG1iIiytFifxnRzU3iUNRgSAyYZGhx9zYkdthS3zjPVvEvPjpTXRFhw9M4pl/dpc
32+
M4z3kAjFaSEiS+Pzump/2T/BIi7s/MdtLMj2OoLTBjusCpRkugKHIUN4ET/glF4B
33+
J/Jb5bMQXeXZ+HPg3gUAgJ9DCjcatxoIS8CGkW8NsYRAYtYKPGsVhXEovWKkNaFv
34+
6wlHomLRIo5lQ0ZyX+VQ6FWEOnN6JMMuonZexrXrHm7WWvCL9BYOL7sj3jtfHUfI
35+
xrFS+TZNYSGp8NqwiofG8tzK0ax7A6XmkKD5SG9i34se
36+
-----END CERTIFICATE-----

test/fixtures/ru_openssl.csr

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-----BEGIN CERTIFICATE REQUEST-----
2+
MIIDNzCCAh8CAQAwgbkxJDAiBgNVBAMMG9Ce0L/QuNGB0LDQvdC40LUg0YHQsNC5
3+
0YLQsDEfMB0GCSqGSIb3DQEJARYQZW52ZWtAZW52ZWsubmFtZTEgMB4GA1UECgwX
4+
0JzQvtGPINC60L7QvNC/0LDQvdC40Y8xKjAoBgNVBAsMIdCc0L7RkSDQv9C+0LTR
5+
gNCw0LfQtNC10LvQtdC90LjQtTEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMQswCQYD
6+
VQQGEwJSVTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANiwspBlQzk6
7+
Yo8EBaVHy/k9vNMpifcbcThux7xLXgwlRgnf8dcfFAzr6WDNGuFJaVihB6TjHKUb
8+
gbafEDrorAiXC+PLe7rgN+tTbgN9r4qhSslRWVplkN4ZEByNAPHvbAW+8dAn7a3O
9+
2tgTtTRSwCrPb53WxtJ4inSb70kKneTF90Ey3kUbRX93V71+nbdQAdxuXAWlLao9
10+
5QQRBdESjGeFuT6mpjlobRWnWDvcl6QMItF25PjBUF2Klmhk7nk2pyxkDAIkkdRe
11+
JFAU136EoL+2OPSvAfrHR8b0YiZ9GCn6CwTt+5l6TaA19jEkpvmi70+oA2ss9+uu
12+
u7NnpN9+Kn8CAwEAAaA4MDYGCSqGSIb3DQEJDjEpMCcwJQYDVR0RBB4wHIILZXhh
13+
bXBsZS5jb22CDSouZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAMnzJVf1
14+
8nPMJa4B87Am+6BWSfxZfUV19CcKK8AtFpQSMUhulLaBa2962jXOHuqEGIj7kxq2
15+
byBb+6BEay8Oz57bTXthQJ+xr7bDf3XqsOoFy1oWDlZnstxAnl6UeJY8a6uCBqyY
16+
tvdOaf80tntCjjMZ1eNMzg3eEFYl5OCG77SZf0vcST/lf8/ObUA/A190mUmUHktK
17+
WDzI5AgaCDSuE9j8rsHeIyUxuEqb6T/MbeNfbHjUEwHrKnItMY099QtVbDmZ4dPr
18+
axUyIatyGV6Fgn1ABplwBQiRC+6gc3+LJmc4etn5dSgdi0S3HtxYVY6oEfmmYkn5
19+
zdfhrg3O7xnDqto=
20+
-----END CERTIFICATE REQUEST-----

test/fixtures/ru_openssl.key

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
hNKjP4pz5JpmD4tLqZQD3rLH8vOg
52+
-----END PRIVATE KEY-----
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# openssl req -new -utf8 -nameopt multiline,utf8 -config Dokumente/git/dexus-pem/test/fixtures/ru_openssl_config.conf -newkey rsa:2048 -nodes -keyout Dokumente/git/dexus-pem/test/fixtures/ru_openssl.key -out Dokumente/git/dexus-pem/test/fixtures/ru_openssl.csr
2+
# openssl req -x509 -newkey rsa:4096 -sha256 -utf8 -days 365 -nodes \
3+
-config Dokumente/git/dexus-pem/test/fixtures/ru_openssl_config.conf \
4+
-keyout Dokumente/git/dexus-pem/test/fixtures/ru_openssl.key \
5+
-out Dokumente/git/dexus-pem/test/fixtures/ru_openssl.crt
6+
7+
HOME = .
8+
RANDFILE = $ENV::HOME/.rnd
9+
10+
[CA_default]
11+
copy_extensions = copy
12+
string_mask = utf8only
13+
utf8 = yes
14+
15+
[req]
16+
default_bits = 4096
17+
prompt = no
18+
string_mask = utf8only
19+
utf8 = yes
20+
default_md = sha256
21+
distinguished_name = dn
22+
x509_extensions = v3_ca
23+
24+
[dn]
25+
CN = Описание сайта # Site description
26+
emailAddress = [email protected]
27+
O = Моя компания # My company
28+
OU = Моё подразделение # My dept
29+
L = Москва # Moscow
30+
C = RU
31+
32+
[v3_ca]
33+
basicConstraints = CA:FALSE
34+
keyUsage = digitalSignature, keyEncipherment
35+
subjectAltName = @alternate_names
36+
37+
[alternate_names]
38+
DNS.1 = example.com
39+
DNS.2 = *.app.example.com
40+
DNS.3 = www.example.com

0 commit comments

Comments
 (0)