()
| 150 | let hasResetDefaultCACertificates = false; |
| 151 | |
| 152 | function cacheDefaultCACertificates() { |
| 153 | if (defaultCACertificates) { return defaultCACertificates; } |
| 154 | |
| 155 | if (hasResetDefaultCACertificates) { |
| 156 | defaultCACertificates = getUserRootCertificates(); |
| 157 | ObjectFreeze(defaultCACertificates); |
| 158 | return defaultCACertificates; |
| 159 | } |
| 160 | |
| 161 | defaultCACertificates = []; |
| 162 | |
| 163 | if (!getOptionValue('--use-openssl-ca')) { |
| 164 | const bundled = cacheBundledRootCertificates(); |
| 165 | for (let i = 0; i < bundled.length; ++i) { |
| 166 | ArrayPrototypePush(defaultCACertificates, bundled[i]); |
| 167 | } |
| 168 | if (getOptionValue('--use-system-ca')) { |
| 169 | const system = cacheSystemCACertificates(); |
| 170 | for (let i = 0; i < system.length; ++i) { |
| 171 | |
| 172 | ArrayPrototypePush(defaultCACertificates, system[i]); |
| 173 | } |
| 174 | } |
| 175 | } |
| 176 | |
| 177 | if (process.env.NODE_EXTRA_CA_CERTS) { |
| 178 | const extra = cacheExtraCACertificates(); |
| 179 | for (let i = 0; i < extra.length; ++i) { |
| 180 | |
| 181 | ArrayPrototypePush(defaultCACertificates, extra[i]); |
| 182 | } |
| 183 | } |
| 184 | |
| 185 | ObjectFreeze(defaultCACertificates); |
| 186 | return defaultCACertificates; |
| 187 | } |
| 188 | |
| 189 | // TODO(joyeecheung): support X509Certificate output? |
| 190 | function getCACertificates(type = 'default') { |
no test coverage detected
searching dependent graphs…