|
21 | 21 |
|
22 | 22 | 'use strict';
|
23 | 23 | const common = require('../common');
|
| 24 | +const fixtures = require('../common/fixtures'); |
24 | 25 |
|
25 | 26 | if (!common.hasCrypto)
|
26 | 27 | common.skip('missing crypto');
|
27 | 28 |
|
28 | 29 | const tls = require('tls');
|
29 | 30 |
|
30 |
| -const cert = |
31 |
| -`-----BEGIN CERTIFICATE----- |
32 |
| -MIIDNDCCAp2gAwIBAgIJAJvXLQpGPpm7MA0GCSqGSIb3DQEBBQUAMHAxCzAJBgNV |
33 |
| -BAYTAkdCMRAwDgYDVQQIEwdHd3luZWRkMREwDwYDVQQHEwhXYXVuZmF3cjEUMBIG |
34 |
| -A1UEChMLQWNrbmFjayBMdGQxEjAQBgNVBAsTCVRlc3QgQ2VydDESMBAGA1UEAxMJ |
35 |
| -bG9jYWxob3N0MB4XDTA5MTEwMjE5MzMwNVoXDTEwMTEwMjE5MzMwNVowcDELMAkG |
36 |
| -A1UEBhMCR0IxEDAOBgNVBAgTB0d3eW5lZGQxETAPBgNVBAcTCFdhdW5mYXdyMRQw |
37 |
| -EgYDVQQKEwtBY2tuYWNrIEx0ZDESMBAGA1UECxMJVGVzdCBDZXJ0MRIwEAYDVQQD |
38 |
| -Ewlsb2NhbGhvc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANdym7nGe2yw |
39 |
| -6LlJfJrQtC5TmKOGrSXiyolYCbGOy4xZI4KD31d3097jhlQFJyF+10gwkE62DuJe |
40 |
| -fLvBZDUsvLe1R8bzlVhZnBVn+3QJyUIWQAL+DsRj8P3KoD7k363QN5dIaA1GOAg2 |
41 |
| -vZcPy1HCUsvOgvDXGRUCZqNLAyt+h/cpAgMBAAGjgdUwgdIwHQYDVR0OBBYEFK4s |
42 |
| -VBV4shKUj3UX/fvSJnFaaPBjMIGiBgNVHSMEgZowgZeAFK4sVBV4shKUj3UX/fvS |
43 |
| -JnFaaPBjoXSkcjBwMQswCQYDVQQGEwJHQjEQMA4GA1UECBMHR3d5bmVkZDERMA8G |
44 |
| -A1UEBxMIV2F1bmZhd3IxFDASBgNVBAoTC0Fja25hY2sgTHRkMRIwEAYDVQQLEwlU |
45 |
| -ZXN0IENlcnQxEjAQBgNVBAMTCWxvY2FsaG9zdIIJAJvXLQpGPpm7MAwGA1UdEwQF |
46 |
| -MAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAFxR7BA1mUlsYqPiogtxSIfLzHWh+s0bJ |
47 |
| -SBuhNrHes4U8QxS8+x/KWjd/81gzsf9J1C2VzTlFaydAgigz3SkQYgs+TMnFkT2o |
48 |
| -9jqoJrcdf4WpZ2DQXUALaZgwNzPumMUSx8Ac5gO+BY/RHyP6fCodYvdNwyKslnI3 |
49 |
| -US7eCSHZsVo= |
50 |
| ------END CERTIFICATE-----`; |
| 31 | +let key = fixtures.readKey('rsa_private.pem'); |
| 32 | +let cert = fixtures.readKey('rsa_cert.crt'); |
51 | 33 |
|
52 |
| -const key = |
53 |
| -`-----BEGIN RSA PRIVATE KEY----- |
54 |
| -MIICXgIBAAKBgQDXcpu5xntssOi5SXya0LQuU5ijhq0l4sqJWAmxjsuMWSOCg99X |
55 |
| -d9Pe44ZUBSchftdIMJBOtg7iXny7wWQ1LLy3tUfG85VYWZwVZ/t0CclCFkAC/g7E |
56 |
| -Y/D9yqA+5N+t0DeXSGgNRjgINr2XD8tRwlLLzoLw1xkVAmajSwMrfof3KQIDAQAB |
57 |
| -AoGBAIBHR/tT93ce2mJAJAXV0AJpWc+7x2pwX2FpXtQujnlxNZhnRlrBCRCD7h4m |
58 |
| -t0bVS/86kyGaesBDvAbavfx/N5keYzzmmSp5Ht8IPqKPydGWdigk4x90yWvktai7 |
59 |
| -dWuRKF94FXr0GUuBONb/dfHdp4KBtzN7oIF9WydYGGXA9ZmBAkEA8/k01bfwQZIu |
60 |
| -AgcdNEM94Zcug1gSspXtUu8exNQX4+PNVbadghZb1+OnUO4d3gvWfqvAnaXD3KV6 |
61 |
| -N4OtUhQQ0QJBAOIRbKMfaymQ9yE3CQQxYfKmEhHXWARXVwuYqIFqjmhSjSXx0l/P |
62 |
| -7mSHz1I9uDvxkJev8sQgu1TKIyTOdqPH1tkCQQDPa6H1yYoj1Un0Q2Qa2Mg1kTjk |
63 |
| -Re6vkjPQ/KcmJEOjZjtekgFbZfLzmwLXFXqjG2FjFFaQMSxR3QYJSJQEYjbhAkEA |
64 |
| -sy7OZcjcXnjZeEkv61Pc57/7qIp/6Aj2JGnefZ1gvI1Z9Q5kCa88rA/9Iplq8pA4 |
65 |
| -ZBKAoDW1ZbJGAsFmxc/6mQJAdPilhci0qFN86IGmf+ZBnwsDflIwHKDaVofti4wQ |
66 |
| -sPWhSOb9VQjMXekI4Y2l8fqAVTS2Fn6+8jkVKxXBywSVCw== |
67 |
| ------END RSA PRIVATE KEY-----`; |
| 34 | +// This test validates that we accept certificates and keys which |
| 35 | +// do not end with a newline. If a newline exists at the end |
| 36 | +// of the key or cert being used remove it |
| 37 | +let i = 0; |
| 38 | +while (key[key.length - 1 - i] === 0x0a) i++; |
| 39 | +if (i !== 0) key = key.slice(0, key.length - i); |
| 40 | + |
| 41 | +i = 0; |
| 42 | +while (cert[cert.length - 1 - i] === 0x0a) i++; |
| 43 | +if (i !== 0) cert = cert.slice(0, cert.length - i); |
68 | 44 |
|
69 | 45 | function test(cert, key, cb) {
|
70 | 46 | const server = tls.createServer({
|
|
0 commit comments