Skip to content

Commit 687dfc9

Browse files
committed
crypto: separate altname extensions with ", "
In newly introduced `SafeX509ExtPrint` I forgot to insert separators between extensions, which lead to the "DNS:...DNS:..." thing for npm. Fix: #105 Reviewed-By: Ben Noordhuis <[email protected]> PR-URL: https://github.com/iojs/io.js/pull/113.patch
1 parent ac18ebd commit 687dfc9

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

src/node_crypto.cc

+3
Original file line numberDiff line numberDiff line change
@@ -1144,6 +1144,9 @@ static bool SafeX509ExtPrint(BIO* out, X509_EXTENSION* ext) {
11441144
for (int i = 0; i < sk_GENERAL_NAME_num(names); i++) {
11451145
GENERAL_NAME* gen = sk_GENERAL_NAME_value(names, i);
11461146

1147+
if (i != 0)
1148+
BIO_write(out, ", ", 2);
1149+
11471150
if (gen->type == GEN_DNS) {
11481151
ASN1_IA5STRING* name = gen->d.dNSName;
11491152

test/fixtures/keys/0-dns-cert.pem

+12-11
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
-----BEGIN CERTIFICATE-----
2-
MIIC2jCCAcSgAwIBAgICJxEwCwYJKoZIhvcNAQEFMBUxEzARBgNVBAMWCm9oLm15
3-
Lmdvc2gwHxcNMTQxMTA1MDMyMDUyWhcOMzQwMTAzMTAzMjA1MlowEzERMA8GA1UE
4-
AxYIZXZpbC5jb20wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIBCQKCAQCsFwwf1dsr
2+
MIIC/zCCAemgAwIBAgICJxEwCwYJKoZIhvcNAQEFMBUxEzARBgNVBAMWCm9oLm15
3+
Lmdvc2gwHhcNMTQxMjA4MTM0MTUzWhcNMzQxMjAzMTM0MTUzWjATMREwDwYDVQQD
4+
FghldmlsLmNvbTCCASAwCwYJKoZIhvcNAQEBA4IBDwAwggEKAoIBAQCsFwwf1dsr
55
PdxyTHBreymbFGACLQtaOihGsSkYtIzUEF1aT90YDMzNdoLr4wkwWig5FPRMnjmX
66
7pXY9RVbWmwG/M2eku9S62LekUFkeY1W/QftV9LYgAg7wVDA+v3+zk/EMEqADYm6
77
W735tzDIKtvx+/3Dd9puQ0TLFNHBxAmTz7YNaJdIUqzs3DWT4zeZQj0RCOyWCjQL
88
NfqQ80I7NYFYb4IJqiUY8iOTL5kPi7b5szem5EakQbhufDWun4xGTZk/URZHgYgp
99
REbOLTYs2hqbK76biW/Yvwd1l7RsptIvJvkuQ1R/dO1WPv6PLKLTuS1EOHM3YqNH
10-
o7wDSplOJe5rAgMBAAGhCQMHADEyMzQ1NqIJAwcANzg5YWJjoyYwJDAiBgNVHREB
11-
AQAEGDAWghRnb29nbGUuY29tAC5ldmlsLmNvbTALBgkqhkiG9w0BAQEDggEBAHuf
12-
1kxr49w51fC4nou96xj3IjcrJjOy5Aywn755enmaQ5Wh6AuVMHKqheITSbtoDT42
13-
jlIFJ3x+XmfenzV5ac8tawGNzJ+vy4+EYwL4QC11nZJ0FSLZ6KZgPI3lpShMy6Gs
14-
bWFHDKrz6oivsitpUpeCK7aH1a7MVmr/G004vpVFe3OHggfyn9mHK3pCp0WIQuRl
15-
PLiRgZSvryvOaf9cbVLvaUqcL480gcDVd4RGicBU52CeStocYeIHmPat1T+IOLFc
16-
uv0VYQ4dzUfZ5c5YwwMPpHCVprxVR+grpZtd0su0bHDL5wETKBXEz8u2bmSORHgB
17-
x2H+/2UOb6jab+IuQ08=
10+
o7wDSplOJe5rAgMBAAGhCQMHADEyMzQ1NqIJAwcANzg5YWJjo0swSTBHBgNVHREE
11+
QDA+ghRnb29nbGUuY29tAC5ldmlsLmNvbYIQanVzdC1hbm90aGVyLmNvbYcECAgI
12+
CIcECAgEBIIIbGFzdC5jb20wCwYJKoZIhvcNAQEBA4IBAQBAC2n4CIXLnyONTjPc
13+
qU0wu41wI+IQlb9mi0C7WEd9HumCbskahAp8vTs35DehnSxrl15FG0rABVtTROCv
14+
eflBKuzwPjtnfZm37UIbQKQUtcxwMQ/zvA83w4GLrLvrFtaQRpXn/RtL/q4CIpQH
15+
MGaPW1Gs24RVBHxI7OXf9UlUruB1yQLUbbtdBtxZ6pk/B32e3yWowbvG7OxuUL0F
16+
1w4DD2m+GfbTyZSCfYKP/zMp3xhTxihVfZ2g07ufc51bNCftWKBLHM/QHJmn4pVo
17+
rrz1vS9nMf/i16zrJ8Xmj61Eo4Aes37lAH5kUiT1VsNxSDcQCiqr1mcj6ByXKNCQ
18+
wDzO
1819
-----END CERTIFICATE-----

test/simple/test-tls-0-dns-altname.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ var server = tls.createServer({
4747
}, function() {
4848
requests++;
4949
var cert = c.getPeerCertificate();
50-
assert.equal(cert.subjectaltname, 'DNS:google.com\0.evil.com');
50+
assert.equal(cert.subjectaltname,
51+
'DNS:google.com\0.evil.com, ' +
52+
'DNS:just-another.com, ' +
53+
'IP Address:8.8.8.8, '+
54+
'IP Address:8.8.4.4, '+
55+
'DNS:last.com');
5156
c.write('ok');
5257
});
5358
});

0 commit comments

Comments
 (0)