|
| 1 | +'use strict'; |
| 2 | +const common = require('../common'); |
| 3 | + |
| 4 | +if (!common.hasCrypto) |
| 5 | + common.skip('missing crypto'); |
| 6 | + |
| 7 | +const { strictEqual, deepStrictEqual } = require('assert'); |
| 8 | +const { translatePeerCertificate } = require('_tls_common'); |
| 9 | + |
| 10 | +const certString = 'A=1\nB=2\nC=3'; |
| 11 | +const certObject = { A: '1', B: '2', C: '3' }; |
| 12 | + |
| 13 | +strictEqual(translatePeerCertificate(null), null); |
| 14 | +strictEqual(translatePeerCertificate(undefined), null); |
| 15 | + |
| 16 | +strictEqual(translatePeerCertificate(0), null); |
| 17 | +strictEqual(translatePeerCertificate(1), 1); |
| 18 | + |
| 19 | +deepStrictEqual(translatePeerCertificate({}), {}); |
| 20 | + |
| 21 | +deepStrictEqual(translatePeerCertificate({ issuer: '' }), |
| 22 | + { issuer: {} }); |
| 23 | +deepStrictEqual(translatePeerCertificate({ issuer: null }), |
| 24 | + { issuer: null }); |
| 25 | +deepStrictEqual(translatePeerCertificate({ issuer: certString }), |
| 26 | + { issuer: certObject }); |
| 27 | + |
| 28 | +deepStrictEqual(translatePeerCertificate({ subject: '' }), |
| 29 | + { subject: {} }); |
| 30 | +deepStrictEqual(translatePeerCertificate({ subject: null }), |
| 31 | + { subject: null }); |
| 32 | +deepStrictEqual(translatePeerCertificate({ subject: certString }), |
| 33 | + { subject: certObject }); |
| 34 | + |
| 35 | +deepStrictEqual(translatePeerCertificate({ issuerCertificate: '' }), |
| 36 | + { issuerCertificate: null }); |
| 37 | +deepStrictEqual(translatePeerCertificate({ issuerCertificate: null }), |
| 38 | + { issuerCertificate: null }); |
| 39 | +deepStrictEqual( |
| 40 | + translatePeerCertificate({ issuerCertificate: { subject: certString } }), |
| 41 | + { issuerCertificate: { subject: certObject } }); |
| 42 | + |
| 43 | +{ |
| 44 | + const cert = {}; |
| 45 | + cert.issuerCertificate = cert; |
| 46 | + deepStrictEqual(translatePeerCertificate(cert), { issuerCertificate: cert }); |
| 47 | +} |
| 48 | + |
| 49 | +deepStrictEqual(translatePeerCertificate({ infoAccess: '' }), |
| 50 | + { infoAccess: {} }); |
| 51 | +deepStrictEqual(translatePeerCertificate({ infoAccess: null }), |
| 52 | + { infoAccess: null }); |
| 53 | +deepStrictEqual( |
| 54 | + translatePeerCertificate({ infoAccess: 'OCSP - URI:file:///etc/passwd' }), |
| 55 | + { infoAccess: { 'OCSP - URI': ['file:///etc/passwd'] } }); |
0 commit comments