Compare commits
No commits in common. "master" and "v1.1.0" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,8 +7,6 @@ lib-cov
|
|||||||
*.pid
|
*.pid
|
||||||
*.gz
|
*.gz
|
||||||
|
|
||||||
pems/*.*
|
|
||||||
|
|
||||||
pids
|
pids
|
||||||
logs
|
logs
|
||||||
results
|
results
|
||||||
|
@ -1,255 +0,0 @@
|
|||||||
# Painless Self Signed Certificates in node.js
|
|
||||||
|
|
||||||
# Try the code
|
|
||||||
|
|
||||||
I made a complete, cloneable example:
|
|
||||||
|
|
||||||
https://git.coolaj86.com/coolaj86/nodejs-self-signed-certificate-example
|
|
||||||
|
|
||||||
# TL;DR
|
|
||||||
|
|
||||||
If you don't like to read you can just **copy and paste** this into your terminal.
|
|
||||||
|
|
||||||
## Create your Root CA and your Signed Certificate
|
|
||||||
|
|
||||||
**STOP**: There is one thing you need to change: Replace `CN=local.ldsconnect.org` with your domain.
|
|
||||||
|
|
||||||
**HOWEVER**, `local.ldsconnect.org` points to `127.0.0.1`, so this example will work if you simply copy and paste with 0 modifications.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# make directories to work from
|
|
||||||
mkdir -p server/ client/ all/
|
|
||||||
|
|
||||||
# Create your very own Root Certificate Authority
|
|
||||||
openssl genrsa \
|
|
||||||
-out all/my-private-root-ca.key.pem \
|
|
||||||
2048
|
|
||||||
|
|
||||||
# Self-sign your Root Certificate Authority
|
|
||||||
# Since this is private, the details can be as bogus as you like
|
|
||||||
openssl req \
|
|
||||||
-x509 \
|
|
||||||
-new \
|
|
||||||
-nodes \
|
|
||||||
-key all/my-private-root-ca.key.pem \
|
|
||||||
-days 1024 \
|
|
||||||
-out all/my-private-root-ca.crt.pem \
|
|
||||||
-subj "/C=US/ST=Utah/L=Provo/O=ACME Signing Authority Inc/CN=example.com"
|
|
||||||
|
|
||||||
# Create a Device Certificate for each domain,
|
|
||||||
# such as example.com, *.example.com, awesome.example.com
|
|
||||||
# NOTE: You MUST match CN to the domain name or ip address you want to use
|
|
||||||
openssl genrsa \
|
|
||||||
-out all/my-server.key.pem \
|
|
||||||
2048
|
|
||||||
|
|
||||||
# Create a request from your Device, which your Root CA will sign
|
|
||||||
openssl req -new \
|
|
||||||
-key all/my-server.key.pem \
|
|
||||||
-out all/my-server.csr.pem \
|
|
||||||
-subj "/C=US/ST=Utah/L=Provo/O=ACME Tech Inc/CN=local.ldsconnect.org"
|
|
||||||
|
|
||||||
# Sign the request from Device with your Root CA
|
|
||||||
openssl x509 \
|
|
||||||
-req -in all/my-server.csr.pem \
|
|
||||||
-CA all/my-private-root-ca.crt.pem \
|
|
||||||
-CAkey all/my-private-root-ca.key.pem \
|
|
||||||
-CAcreateserial \
|
|
||||||
-out all/my-server.crt.pem \
|
|
||||||
-days 500
|
|
||||||
|
|
||||||
# Put things in their proper place
|
|
||||||
rsync -a all/my-server.{key,crt}.pem server/
|
|
||||||
rsync -a all/my-private-root-ca.crt.pem server/
|
|
||||||
rsync -a all/my-private-root-ca.crt.pem client/
|
|
||||||
```
|
|
||||||
The only **3 files** you need **on your server** are these:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
server
|
|
||||||
├── my-private-root-ca.crt.pem
|
|
||||||
├── my-server.crt.pem
|
|
||||||
└── my-server.key.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
The **1 file** you need **on your clients** is this:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
client
|
|
||||||
└── my-private-root-ca.crt.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
## Your server
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
#!/usr/bin/env node
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var https = require('https')
|
|
||||||
, port = process.argv[2] || 4443
|
|
||||||
, fs = require('fs')
|
|
||||||
, path = require('path')
|
|
||||||
, server
|
|
||||||
, options
|
|
||||||
;
|
|
||||||
|
|
||||||
require('ssl-root-cas')
|
|
||||||
.inject()
|
|
||||||
.addFile(path.join(__dirname, 'server', 'my-private-root-ca.crt.pem'))
|
|
||||||
;
|
|
||||||
|
|
||||||
options = {
|
|
||||||
key: fs.readFileSync(path.join(__dirname, 'server', 'my-server.key.pem'))
|
|
||||||
// You don't need to specify `ca`, it's done by `ssl-root-cas`
|
|
||||||
//, ca: [ fs.readFileSync(path.join(__dirname, 'server', 'my-private-root-ca.crt.pem'))]
|
|
||||||
, cert: fs.readFileSync(path.join(__dirname, 'server', 'my-server.crt.pem'))
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
function app(req, res) {
|
|
||||||
res.setHeader('Content-Type', 'text/plain');
|
|
||||||
res.end('Hello, encrypted world!');
|
|
||||||
}
|
|
||||||
|
|
||||||
server = https.createServer(options, app).listen(port, function () {
|
|
||||||
port = server.address().port;
|
|
||||||
console.log('Listening on https://127.0.0.1:' + port);
|
|
||||||
console.log('Listening on https://' + server.address().address + ':' + port);
|
|
||||||
console.log('Listening on https://local.ldsconnect.org:' + port);
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
## Your client
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
#!/usr/bin/env node
|
|
||||||
var https = require('https')
|
|
||||||
, fs = require('fs')
|
|
||||||
, path = require('path')
|
|
||||||
, ca = fs.readFileSync(path.join(__dirname, 'client', 'my-private-root-ca.crt.pem'))
|
|
||||||
;
|
|
||||||
|
|
||||||
var options = {
|
|
||||||
host: 'local.ldsconnect.org',
|
|
||||||
path: '/',
|
|
||||||
ca: ca
|
|
||||||
};
|
|
||||||
options.agent = new https.Agent(options);
|
|
||||||
|
|
||||||
https.request(options, function(res) {
|
|
||||||
res.pipe(process.stdout);
|
|
||||||
}).end();
|
|
||||||
```
|
|
||||||
|
|
||||||
# What you need to know
|
|
||||||
|
|
||||||
I struggled for a bit with self-signed certificates until I found out that **YOU'RE NOT SUPPOSED TO SERVE SELF-SIGNED CERTIFICATES**.
|
|
||||||
|
|
||||||
Seriously. They're not supposed to be public-facing. And that's why you get some many various types of errors that are difficult to resolve such as `SSL certificate problem: Invalid certificate chain` and `DEPTH_ZERO_SELF_SIGNED_CERT`.
|
|
||||||
|
|
||||||
The purpose of self-signed certificates is for Root CAs to hide them away in a safe place and occasionally sign 2nd-tier certificates which sign 3rd-tier certificates which sign... and so forth until you pay just $24.97 for an Nth-tier certificate that only works in the most recent browsers and devices.
|
|
||||||
|
|
||||||
So here's how to win:
|
|
||||||
|
|
||||||
* Create a CA - **KEEP IT PRIVATE** (your server never sees it except the `.crt.pem`)
|
|
||||||
* Self-sign your CA
|
|
||||||
* Create a **server certificate**
|
|
||||||
* Sign your public-facing cert **THIS IS PUBLIC** (but none of it ever leaves your server and the clients never see any of it)
|
|
||||||
|
|
||||||
## Create A Certificate Authority
|
|
||||||
|
|
||||||
Since this is for **private** use and testing it doesn't much matter if the information is correct or not.
|
|
||||||
|
|
||||||
If you want, you can just copy and paste this directly:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openssl genrsa \
|
|
||||||
-out my-private-root-ca.key.pem \
|
|
||||||
2048
|
|
||||||
```
|
|
||||||
|
|
||||||
That creates a key *without a passphrase*. If you want to protect this key with a passphrase, add the option `-des3`.
|
|
||||||
|
|
||||||
## Sign your Certificate Authority with itself
|
|
||||||
|
|
||||||
Normally you have to create a signing request (csr.pem) and then have it signed. This does both in one step.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openssl req \
|
|
||||||
-x509 \
|
|
||||||
-new \
|
|
||||||
-nodes \
|
|
||||||
-key my-private-root-ca.key.pem \
|
|
||||||
-days 1024 \
|
|
||||||
-out my-private-root-ca.crt.pem \
|
|
||||||
-subj "/C=US/ST=Utah/L=Provo/O=ACME Signing Authority Inc/CN=example.com"
|
|
||||||
```
|
|
||||||
|
|
||||||
* `-new` means your generating a new signature, this is why you don't have to provide an infile
|
|
||||||
* `-key` is the key you're using to sign it
|
|
||||||
* `-nodes` means "no des" or "don't encrypt with a des cipher" or, most simply, "no password"
|
|
||||||
|
|
||||||
If you want to keep this cert in a safe place and sign lots of stuff with it, then you should put a passphrase on it.
|
|
||||||
|
|
||||||
## Create your SERVER cert
|
|
||||||
|
|
||||||
Looks pretty familiar, eh?
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openssl genrsa \
|
|
||||||
-out my-server.key.pem \
|
|
||||||
2048
|
|
||||||
```
|
|
||||||
|
|
||||||
## Create a signing request (csr.pem)
|
|
||||||
|
|
||||||
It's important to note that **the CN MUST match YOUR domain**.
|
|
||||||
|
|
||||||
If I want to use this certificate with `api.example.com` then it must say exactly that, `example.com` will not work. And although `*.example.com` is a valid wildcard for `api.example.com`, it will not work for `example.com` (you would need two certificates, and SNL vhosting or the [v3_req subjectAltName extension](http://techbrahmana.blogspot.com/2013/10/creating-wildcard-self-signed.html))
|
|
||||||
|
|
||||||
**CN** may also be an IP address.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openssl req -new \
|
|
||||||
-key my-server.key.pem \
|
|
||||||
-out my-server.csr.pem \
|
|
||||||
-subj "/C=US/ST=Utah/L=Provo/O=ACME Tech Inc/CN=awesome.example.com"
|
|
||||||
```
|
|
||||||
|
|
||||||
I recommend using a different `O`rganization name, just so that it's easier to spot and debug at-a-glance in browsers and whatnot.
|
|
||||||
|
|
||||||
## Sign your server cert with your CA
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openssl x509 \
|
|
||||||
-req -in my-server.csr.pem \
|
|
||||||
-CA my-private-root-ca.crt.pem \
|
|
||||||
-CAkey my-private-root-ca.key.pem \
|
|
||||||
-CAcreateserial \
|
|
||||||
-out my-server.crt.pem \
|
|
||||||
-days 500
|
|
||||||
```
|
|
||||||
|
|
||||||
* `-days` should be fewer than you specified in your certificate authority
|
|
||||||
|
|
||||||
# Appendix
|
|
||||||
|
|
||||||
**pem**: Just so you know, *pem* means **plain-text format** (but the acronym is something about email and mime types)
|
|
||||||
|
|
||||||
Other SSL Resources
|
|
||||||
=========
|
|
||||||
|
|
||||||
Zero-Config clone 'n' run (tm) Repos:
|
|
||||||
|
|
||||||
|
|
||||||
* [io.js / node.js HTTPS SSL Example](https://github.com/coolaj86/nodejs-ssl-example)
|
|
||||||
* [io.js / node.js HTTPS SSL Self-Signed Certificate Example](https://git.coolaj86.com/coolaj86/nodejs-self-signed-certificate-example)
|
|
||||||
* [io.js / node.js HTTPS SSL Trusted Peer Client Certificate Example](https://github.com/coolaj86/nodejs-ssl-trusted-peer-example)
|
|
||||||
* [SSL Root CAs](https://github.com/coolaj86/node-ssl-root-cas)
|
|
||||||
|
|
||||||
Articles
|
|
||||||
|
|
||||||
* [http://greengeckodesign.com/blog/2013/06/15/creating-an-ssl-certificate-for-node-dot-js/](Creating an SSL Certificate for node.js)
|
|
||||||
* [http://www.hacksparrow.com/express-js-https-server-client-example.html/comment-page-1](HTTPS Trusted Peer Example)
|
|
||||||
* [How to Create a CSR for HTTPS SSL (demo with name.com, node.js)](https://coolaj86.com/articles/how-to-create-a-csr-for-https-tls-ssl-rsa-pems/)
|
|
||||||
* [coolaj86/Painless-Self-Signed-Certificates-in-node](https://github.com/coolaj86/ssl-root-cas.js/master/Painless-Self-Signed-Certificates-in-node.js.md)
|
|
455
README.md
455
README.md
@ -1,71 +1,7 @@
|
|||||||
IMPORTANT: Try this first
|
|
||||||
=========
|
|
||||||
|
|
||||||
2015-Jul-13: I just discovered that the most common reason you would have the kind of problems this module solves is actually due to **failing to properly bundle the Intermediate CAs** with the server certificate.
|
|
||||||
|
|
||||||
**Incorrect Example**
|
|
||||||
|
|
||||||
```js
|
|
||||||
// INCORRECT (but might still work)
|
|
||||||
var server https.createServer({
|
|
||||||
key: fs.readFileSync('privkey.pem', 'ascii')
|
|
||||||
, cert: fs.readFileSync('cert.pem', 'ascii') // a PEM containing ONLY the SERVER certificate
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
**Correct Example**
|
|
||||||
|
|
||||||
```js
|
|
||||||
// CORRECT (should always work)
|
|
||||||
var server https.createServer({
|
|
||||||
key: fs.readFileSync('privkey.pem', 'ascii')
|
|
||||||
, cert: fs.readFileSync('fullchain.pem', 'ascii') // a PEM containing the SERVER and ALL INTERMEDIATES
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Test your HTTPS effortlessly
|
|
||||||
npm -g install serve-https
|
|
||||||
|
|
||||||
serve-https --servername example.com --cert ./fullchain.pem --key ./privkey.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
You can debug the certificate chain with `openssl`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openssl s_client -showcerts \
|
|
||||||
-connect example.com:443 \
|
|
||||||
-servername example.com
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
**Example `fullchain.pem`**
|
|
||||||
|
|
||||||
```
|
|
||||||
cat \
|
|
||||||
cert.pem \
|
|
||||||
intermediate-twice-removed.pem \
|
|
||||||
interemediate-once-removed.pem \
|
|
||||||
> fullchain.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that you **should not** include the `root.pem` in the bundle and that the bundle should be constructed with the least authoritative certificate first - your server's certificate, followed by the furthest removed intermediate, and then the next closest to the root, etc.
|
|
||||||
|
|
||||||
Also note that in the case of cross-signed certificates (typically only issued from new root certificate authorities) there may be more than one intermediate at equal distances, in which case either in that tier may come first.
|
|
||||||
|
|
||||||
IMPORTANT: Try this next
|
|
||||||
========================
|
|
||||||
|
|
||||||
As of node.js v7.3 the `NODE_EXTRA_CA_CERTS` environment variable can accomplish what most people intend to do with this package. See nodejs/node#9139
|
|
||||||
|
|
||||||
```bash
|
|
||||||
NODE_EXTRA_CA_CERTS='./path/to/root-cas.pem' node example.js
|
|
||||||
```
|
|
||||||
|
|
||||||
SSL Root CAs
|
SSL Root CAs
|
||||||
=================
|
=================
|
||||||
|
|
||||||
The module you need to solve node's SSL woes when including a custom certificate. Particularly, if you need to add a **non-standard Root CA**, then this is the right module for you.
|
The module you need to solve node's SSL woes when including a custom certificate.
|
||||||
|
|
||||||
Let's say you're trying to connect to a site with a cheap-o SSL cert -
|
Let's say you're trying to connect to a site with a cheap-o SSL cert -
|
||||||
such as RapidSSL certificate from [name.com](http://name.com) (the **best** place to get your domains, btw) -
|
such as RapidSSL certificate from [name.com](http://name.com) (the **best** place to get your domains, btw) -
|
||||||
@ -73,118 +9,27 @@ you'll probably get an error like `UNABLE_TO_VERIFY_LEAF_SIGNATURE` and after yo
|
|||||||
out you'll be able to connect to that site just fine, but now when you try to connect to other sites you get
|
out you'll be able to connect to that site just fine, but now when you try to connect to other sites you get
|
||||||
`CERT_UNTRUSTED` or possibly other errors.
|
`CERT_UNTRUSTED` or possibly other errors.
|
||||||
|
|
||||||
**Common Errors**
|
|
||||||
|
|
||||||
* `CERT_UNTRUSTED` - the common root CAs are missing, this module fixes that.
|
|
||||||
* `UNABLE_TO_VERIFY_LEAF_SIGNATURE` could be either the same as the above, or the below
|
|
||||||
* `unable to verify the first certificate` - the intermediate certificate wasn't bundled along with the server certificate, you'll need to fix that
|
|
||||||
|
|
||||||
This module is the solution to your woes!
|
This module is the solution to your woes!
|
||||||
|
|
||||||
FYI, I'm merely the publisher, not the author of this module.
|
FYI, I'm merely the publisher, not the author of this module.
|
||||||
See here: https://groups.google.com/d/msg/nodejs/AjkHSYmiGYs/1LfNHbMhd48J
|
See here: https://groups.google.com/d/msg/nodejs/AjkHSYmiGYs/1LfNHbMhd48J
|
||||||
|
|
||||||
The script downloads the same root CAs that are included with
|
|
||||||
[Mozilla Firefox](http://www.mozilla.org/en-US/about/governance/policies/security-group/certs/included/),
|
|
||||||
[Google Chrome](http://www.chromium.org/Home/chromium-security/root-ca-policy),
|
|
||||||
[`libnss`](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS#CA_certificates_pre-loaded_into_NSS),
|
|
||||||
and [OpenSSL](https://www.openssl.org/support/faq.html#USER16)\*:
|
|
||||||
<https://mxr.mozilla.org/nss/source/lib/ckfw/builtins/certdata.txt?raw=1>
|
|
||||||
|
|
||||||
\* OpenSSL doesn't actually bundle these CAs, but they suggest using them
|
|
||||||
|
|
||||||
**Other Implementations**
|
|
||||||
|
|
||||||
* Golang <https://github.com/agl/extract-nss-root-certs>
|
|
||||||
* Perl <https://github.com/bagder/curl/blob/master/lib/mk-ca-bundle.pl>
|
|
||||||
|
|
||||||
**Usage Examples**
|
|
||||||
|
|
||||||
* https://github.com/coolaj86/nodejs-self-signed-certificate-example
|
|
||||||
* https://github.com/coolaj86/nodejs-ssl-trusted-peer-example
|
|
||||||
|
|
||||||
Install
|
|
||||||
=====
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
npm install ssl-root-cas --save
|
|
||||||
```
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
General usage:
|
|
||||||
|
|
||||||
```js
|
|
||||||
'use strict';
|
|
||||||
var rootCas = require('ssl-root-cas/latest').create();
|
|
||||||
|
|
||||||
// default for all https requests
|
|
||||||
// (whether using https directly, request, or another module)
|
|
||||||
require('https').globalAgent.options.ca = rootCas;
|
|
||||||
```
|
|
||||||
|
|
||||||
### CERT_UNTRUSTED
|
|
||||||
|
|
||||||
`CERT_UNTRUSTED`
|
|
||||||
|
|
||||||
**Old Versions of node.js**:
|
|
||||||
|
|
||||||
If you have to run an old version of node, but need the latest CAs
|
|
||||||
(i.e. you get `CERT_UNTRUSTED` on well-known and properly configured websites)
|
|
||||||
then this alone should solve your problems:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
var rootCas = require('ssl-root-cas/latest').create();
|
|
||||||
|
|
||||||
// fixes ALL https requests (whether using https directly or the request module)
|
|
||||||
require('https').globalAgent.options.ca = rootCas;
|
|
||||||
|
|
||||||
var secureContext = require('tls').createSecureContext({
|
|
||||||
ca: rootCas
|
|
||||||
// ...
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
**missing Root CA** (such as a company ca)
|
|
||||||
|
|
||||||
If you have a newer version of node and still get `CERT_UNTRUSTED`, it's probably
|
|
||||||
because you're testing against a self-signed or company-issued certificate.
|
|
||||||
|
|
||||||
Follow the instructions above, but also use `addFile`, like this:
|
|
||||||
|
|
||||||
```
|
|
||||||
var rootCas = require('ssl-root-cas/latest').create();
|
|
||||||
|
|
||||||
rootCas.addFile(__dirname + '/ssl/00-company-root-ca.pem');
|
|
||||||
```
|
|
||||||
|
|
||||||
### unable to verify the first certificate
|
|
||||||
|
|
||||||
`unable to verify the first certificate`
|
|
||||||
|
|
||||||
When you get this error it means that the webserver you are connecting to
|
|
||||||
is misconfigured and did not include the intermediate certificates in the certificate
|
|
||||||
it sent to you.
|
|
||||||
|
|
||||||
You can work around this by adding the missing certificate:
|
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var rootCas = require('ssl-root-cas/latest').create();
|
// This will add the well-known CAs
|
||||||
|
// to `https.globalAgent.options.ca`
|
||||||
rootCas
|
require('ssl-root-cas/latest')
|
||||||
|
.inject()
|
||||||
.addFile(__dirname + '/ssl/01-cheap-ssl-intermediary-a.pem')
|
.addFile(__dirname + '/ssl/01-cheap-ssl-intermediary-a.pem')
|
||||||
.addFile(__dirname + '/ssl/02-cheap-ssl-intermediary-b.pem')
|
.addFile(__dirname + '/ssl/02-cheap-ssl-intermediary-b.pem')
|
||||||
|
.addFile(__dirname + '/ssl/03-cheap-ssl-site.pem')
|
||||||
;
|
;
|
||||||
|
|
||||||
// will work with all https requests will all libraries (i.e. request.js)
|
|
||||||
require('https').globalAgent.options.ca = rootCas;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### using the latest certificates
|
|
||||||
|
|
||||||
For the sake of version consistency this package ships with the CA certs that were
|
For the sake of version consistency this package ships with the CA certs that were
|
||||||
available at the time it was published,
|
available at the time it was published,
|
||||||
but for the sake of security I recommend you use the latest ones.
|
but for the sake of security I recommend you use the latest ones.
|
||||||
@ -193,22 +38,25 @@ If you want the latest certificates (downloaded as part of the postinstall proce
|
|||||||
you can require those like so:
|
you can require those like so:
|
||||||
|
|
||||||
```
|
```
|
||||||
var rootCas = require('ssl-root-cas/latest').create();
|
require('ssl-root-cas/latest').inject();
|
||||||
|
|
||||||
require('https').globalAgent.options.ca = rootCas;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
You can use the ones that shippped with package like so:
|
You can use the ones that shippped with package like so:
|
||||||
|
|
||||||
```
|
```
|
||||||
var rootCas = require('ssl-root-cas').create();
|
require('ssl-root-cas').inject();
|
||||||
|
|
||||||
require('https').globalAgent.options.ca = rootCas;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
API
|
API
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### inject()
|
||||||
|
|
||||||
|
I thought it might be rude to modify `https.globalAgent.options.ca` on `require`,
|
||||||
|
so I afford you the opportunity to `inject()` the certs at your leisure.
|
||||||
|
|
||||||
|
`inject()` keeps track of whether or not it's been run, so no worries about calling it twice.
|
||||||
|
|
||||||
### addFile(filepath)
|
### addFile(filepath)
|
||||||
|
|
||||||
This is just a convenience method so that you don't
|
This is just a convenience method so that you don't
|
||||||
@ -223,12 +71,12 @@ require('ssl-root-cas/latest')
|
|||||||
is the same as
|
is the same as
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var https = require('https');
|
var https = require('https')
|
||||||
var cas;
|
, cas
|
||||||
|
;
|
||||||
|
|
||||||
cas = https.globalAgent.options.ca || [];
|
cas = https.globalAgent.options.ca || [];
|
||||||
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '03-cheap-ssl-site.pem')));
|
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '03-cheap-ssl-site.pem')));
|
||||||
https.globalAgent.options.ca = cas;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### rootCas
|
### rootCas
|
||||||
@ -238,64 +86,7 @@ them, or you just prefer to
|
|||||||
`https.globalAgent.options.ca = require('ssl-root-cas').rootCas;`
|
`https.globalAgent.options.ca = require('ssl-root-cas').rootCas;`
|
||||||
yourself, well, you can.
|
yourself, well, you can.
|
||||||
|
|
||||||
### inject()
|
BAD IDEAS
|
||||||
|
|
||||||
(deprecated)
|
|
||||||
|
|
||||||
I thought it might be rude to modify `https.globalAgent.options.ca` on `require`,
|
|
||||||
so I afford you the opportunity to `inject()` the certs at your leisure.
|
|
||||||
|
|
||||||
`inject()` keeps track of whether or not it's been run, so no worries about calling it twice.
|
|
||||||
|
|
||||||
|
|
||||||
Kinda Bad Ideas
|
|
||||||
=====
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var request = require('@coolaj86/urequest');
|
|
||||||
var agentOptions;
|
|
||||||
var agent;
|
|
||||||
|
|
||||||
agentOptions = {
|
|
||||||
host: 'www.example.com'
|
|
||||||
, port: '443'
|
|
||||||
, path: '/'
|
|
||||||
, rejectUnauthorized: false
|
|
||||||
};
|
|
||||||
|
|
||||||
agent = new https.Agent(agentOptions);
|
|
||||||
|
|
||||||
request({
|
|
||||||
url: "https://www.example.com/api/endpoint"
|
|
||||||
, method: 'GET'
|
|
||||||
, agent: agent
|
|
||||||
}, function (err, resp, body) {
|
|
||||||
// ...
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
By using an `agent` with `rejectUnauthorized` you at limit the security vulnerability to the requests that deal with that one site instead of making your entire node process completely, utterly insecure.
|
|
||||||
|
|
||||||
### Other Options
|
|
||||||
|
|
||||||
If you were using a self-signed cert you would add this option:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
agentOptions.ca = [ selfSignedRootCaPemCrtBuffer ];
|
|
||||||
```
|
|
||||||
|
|
||||||
For trusted-peer connections you would also add these 2 options:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
agentOptions.key = clientPemKeyBuffer;
|
|
||||||
agentOptions.cert = clientPemCrtSignedBySelfSignedRootCaBuffer;
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
REALLY Bad Ideas
|
|
||||||
===
|
===
|
||||||
|
|
||||||
Don't use dissolutions such as these. :-)
|
Don't use dissolutions such as these. :-)
|
||||||
@ -314,211 +105,3 @@ The same dissolution from the terminal would be
|
|||||||
export NODE_TLS_REJECT_UNAUTHORIZED="0"
|
export NODE_TLS_REJECT_UNAUTHORIZED="0"
|
||||||
node my-service.js
|
node my-service.js
|
||||||
```
|
```
|
||||||
|
|
||||||
It's unfortunate that `process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';` is even documented. It should only be used for debugging and should never make it into in sort of code that runs in the wild. Almost every library that runs atop `https` has a way of passing agent options through. Those that don't should be fixed.
|
|
||||||
|
|
||||||
|
|
||||||
# Appendix
|
|
||||||
|
|
||||||
Other information you might want to know while you're here.
|
|
||||||
|
|
||||||
## Generating an SSL Cert
|
|
||||||
|
|
||||||
Just in case you didn't know, here's how you do it:
|
|
||||||
|
|
||||||
```
|
|
||||||
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -out server.csr
|
|
||||||
```
|
|
||||||
|
|
||||||
**DO NOT FILL OUT** email address, challenge password, or optional company name
|
|
||||||
|
|
||||||
However, you *should* fill out country name, FULL state name, locality name, organization name.
|
|
||||||
|
|
||||||
*organizational unit* is optional.
|
|
||||||
|
|
||||||
```
|
|
||||||
cat server.csr
|
|
||||||
```
|
|
||||||
|
|
||||||
That created a signing request with a sha-256 hash.
|
|
||||||
|
|
||||||
When you submit that to the likes of RapidSSL you'll get back an X.509 that you should call `server.crt.pem` (at least for the purposes of this mini-tutorial).
|
|
||||||
|
|
||||||
You **must** use a bundled certificate for your server (the server and intermediates, **not** root) and pass that as the `cert` option, **not** as the `ca` (which is used for peer-certificate checking).
|
|
||||||
|
|
||||||
### A single HTTPS server
|
|
||||||
|
|
||||||
Here's a complete working example:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var https = require('https');
|
|
||||||
var fs = require('fs');
|
|
||||||
var express = require('express');
|
|
||||||
var app = express();
|
|
||||||
var sslOptions;
|
|
||||||
var server;
|
|
||||||
var port = 4080;
|
|
||||||
|
|
||||||
require('ssl-root-cas/latest')
|
|
||||||
.inject()
|
|
||||||
.addFile(__dirname + '/ssl/Geotrust Cross Root CA.txt')
|
|
||||||
// NOTE: intermediate certificates should be bundled with
|
|
||||||
// the site's certificate, which is issued by the server
|
|
||||||
// when you connect. You only need to add them here if the
|
|
||||||
// server is misconfigured and you can't change it
|
|
||||||
//.addFile(__dirname + '/ssl/Rapid SSL CA.txt')
|
|
||||||
;
|
|
||||||
|
|
||||||
sslOptions = {
|
|
||||||
key: fs.readFileSync('./ssl/privkey.pem')
|
|
||||||
, cert: fs.readFileSync('./ssl/fullchain.pem')
|
|
||||||
};
|
|
||||||
|
|
||||||
app.use('/', function (req, res) {
|
|
||||||
res.end('<html><body><h1>Hello World</h1></body></html>');
|
|
||||||
});
|
|
||||||
|
|
||||||
server = https.createServer(sslOptions);
|
|
||||||
server.on('request', app);
|
|
||||||
server.listen(port, function(){
|
|
||||||
console.log('Listening on https://' + server.address().address + ':' + server.address().port);
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
### Multiple HTTPS servers using SNI
|
|
||||||
|
|
||||||
I know this works - because I just bought two SSL certs from RapidSSL (through name.com),
|
|
||||||
a Digital Ocean VPS,
|
|
||||||
and played around for an hour until it did.
|
|
||||||
|
|
||||||
:-)
|
|
||||||
|
|
||||||
File hierarchy:
|
|
||||||
|
|
||||||
```
|
|
||||||
/etc/letsencrypt
|
|
||||||
└── live
|
|
||||||
├── aj.the.dj
|
|
||||||
│ ├── cert.pem // contains my server certificate
|
|
||||||
│ ├── chain.pem // contains RapidSSL intermediate
|
|
||||||
│ ├── cert+chain.pem // contains both
|
|
||||||
│ └── privkey.pem // my private key
|
|
||||||
├── ballprovo.com
|
|
||||||
│ ├── cert.pem
|
|
||||||
│ ├── chain.pem
|
|
||||||
│ ├── cert+chain.pem
|
|
||||||
│ └── privkey.pem
|
|
||||||
├── server.js
|
|
||||||
└── ssl
|
|
||||||
├── Geotrust Cross Root CA.txt // the Root Authority
|
|
||||||
└── Rapid SSL CA.txt // the Intermediate Authority
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### `server.js`
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var https = require('https');
|
|
||||||
var http = require('http');
|
|
||||||
var fs = require('fs');
|
|
||||||
var crypto = require('crypto');
|
|
||||||
var express = require('express');
|
|
||||||
var vhost = require('vhost');
|
|
||||||
|
|
||||||
// connect / express app
|
|
||||||
var app = express();
|
|
||||||
|
|
||||||
// SSL Server
|
|
||||||
var secureContexts = {};
|
|
||||||
var secureOpts;
|
|
||||||
var secureServer;
|
|
||||||
var securePort = 4443;
|
|
||||||
|
|
||||||
// force SSL upgrade server
|
|
||||||
var server;
|
|
||||||
var port = 4080;
|
|
||||||
|
|
||||||
// the ssl domains I have
|
|
||||||
var domains = ['aj.the.dj', 'ballprovo.com'];
|
|
||||||
|
|
||||||
require('ssl-root-cas/latest')
|
|
||||||
.inject()
|
|
||||||
.addFile(__dirname + '/ssl/Geotrust Cross Root CA.txt')
|
|
||||||
//.addFile(__dirname + '/ssl/Rapid SSL CA.txt')
|
|
||||||
;
|
|
||||||
|
|
||||||
function getAppContext(domain) {
|
|
||||||
// Really you'd want to do this:
|
|
||||||
// return require(__dirname + '/' + domain + '/app.js');
|
|
||||||
|
|
||||||
// But for this demo we'll do this:
|
|
||||||
return connect().use('/', function (req, res) {
|
|
||||||
console.log('req.vhost', JSON.stringify(req.vhost));
|
|
||||||
res.end('<html><body><h1>Welcome to ' + domain + '!</h1></body></html>');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
domains.forEach(function (domain) {
|
|
||||||
secureContexts[domain] = crypto.createCredentials({
|
|
||||||
key: fs.readFileSync(__dirname + '/' + domain + '/privkey.pem')
|
|
||||||
, cert: fs.readFileSync(__dirname + '/' + domain + '/cert+chain.pem')
|
|
||||||
}).context;
|
|
||||||
|
|
||||||
app.use(vhost('*.' + domain, getAppContext(domain)));
|
|
||||||
app.use(vhost(domain, getAppContext(domain)));
|
|
||||||
});
|
|
||||||
|
|
||||||
// fallback / default domain
|
|
||||||
app.use('/', function (req, res) {
|
|
||||||
res.end('<html><body><h1>Hello World</h1></body></html>');
|
|
||||||
});
|
|
||||||
|
|
||||||
//provide a SNICallback when you create the options for the https server
|
|
||||||
secureOpts = {
|
|
||||||
//SNICallback is passed the domain name, see NodeJS docs on TLS
|
|
||||||
SNICallback: function (domain) {
|
|
||||||
console.log('SNI:', domain);
|
|
||||||
return secureContexts[domain];
|
|
||||||
}
|
|
||||||
// fallback / default domain
|
|
||||||
, key: fs.readFileSync(__dirname + '/aj.the.dj/privkey.pem')
|
|
||||||
, cert: fs.readFileSync(__dirname + '/aj.the.dj/cert+chain.pem')
|
|
||||||
};
|
|
||||||
|
|
||||||
secureServer = https.createServer(secureOpts, app).listen(securePort, function(){
|
|
||||||
console.log("Listening on https://localhost:" + secureServer.address().port);
|
|
||||||
});
|
|
||||||
|
|
||||||
server = http.createServer(function (req, res) {
|
|
||||||
res.setHeader(
|
|
||||||
'Location'
|
|
||||||
, 'https://' + req.headers.host.replace(/:\d+/, ':' + securePort)
|
|
||||||
);
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
}).listen(port, function(){
|
|
||||||
console.log("Listening on http://localhost:" + server.address().port);
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
Other SSL Resources
|
|
||||||
=========
|
|
||||||
|
|
||||||
Zero-Config clone 'n' run (tm) Repos:
|
|
||||||
|
|
||||||
|
|
||||||
* [io.js / node.js HTTPS SSL Example](https://github.com/coolaj86/nodejs-ssl-example)
|
|
||||||
* [io.js / node.js HTTPS SSL Self-Signed Certificate Example](https://github.com/coolaj86/nodejs-self-signed-certificate-example)
|
|
||||||
* [io.js / node.js HTTPS SSL Trusted Peer Client Certificate Example](https://github.com/coolaj86/nodejs-ssl-trusted-peer-example)
|
|
||||||
* [SSL Root CAs](https://github.com/coolaj86/node-ssl-root-cas)
|
|
||||||
|
|
||||||
Articles
|
|
||||||
|
|
||||||
* [Creating an SSL Certificate for node.js](http://greengeckodesign.com/blog/2013/06/15/creating-an-ssl-certificate-for-node-dot-js/)
|
|
||||||
* [HTTPS Trusted Peer Example](http://www.hacksparrow.com/express-js-https-server-client-example.html/comment-page-1)
|
|
||||||
* [How to Create a CSR for HTTPS SSL (demo with name.com, node.js)](http://blog.coolaj86.com/articles/how-to-create-a-csr-for-https-tls-ssl-rsa-pems/)
|
|
||||||
* [coolaj86/Painless-Self-Signed-Certificates-in-node](https://github.com/coolaj86/node-ssl-root-cas/wiki/Painless-Self-Signed-Certificates-in-node.js)
|
|
||||||
|
@ -4,12 +4,19 @@
|
|||||||
|
|
||||||
var fs = require('fs')
|
var fs = require('fs')
|
||||||
, path = require('path')
|
, path = require('path')
|
||||||
, request = require('@coolaj86/urequest')
|
, request = require('request')
|
||||||
, CERTDB_URL = 'https://mxr.mozilla.org/nss/source/lib/ckfw/builtins/certdata.txt?raw=1'
|
, CERTDB_URL = 'https://mxr.mozilla.org/nss/source/lib/ckfw/builtins/certdata.txt?raw=1'
|
||||||
, outputFile
|
, OUTFILE = path.join(__dirname, './ssl-root-cas-latest.js')
|
||||||
, outputPemsDir
|
, HEADER
|
||||||
;
|
;
|
||||||
|
|
||||||
|
HEADER =
|
||||||
|
"/**\n" +
|
||||||
|
" * Mozilla's root CA store\n" +
|
||||||
|
" *\n" +
|
||||||
|
" * generated from " + CERTDB_URL + "\n" +
|
||||||
|
" */\n\n";
|
||||||
|
|
||||||
function Certificate() {
|
function Certificate() {
|
||||||
this.name = null;
|
this.name = null;
|
||||||
this.body = '';
|
this.body = '';
|
||||||
@ -23,18 +30,15 @@ Certificate.prototype.quasiPEM = function quasiPEM() {
|
|||||||
;
|
;
|
||||||
|
|
||||||
bytes.shift();
|
bytes.shift();
|
||||||
converted = Buffer.alloc(bytes.length);
|
converted = new Buffer(bytes.length);
|
||||||
while(bytes.length > 0) {
|
while(bytes.length > 0) {
|
||||||
converted.writeUInt8(parseInt(bytes.shift(), 8), offset++);
|
converted.writeUInt8(parseInt(bytes.shift(), 8), offset++);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return ' // ' + this.name + '\n' +
|
||||||
name: this.name
|
' "-----BEGIN CERTIFICATE-----\\n" +\n' +
|
||||||
, value: ' // ' + this.name + '\n'
|
converted.toString('base64').replace(/(.{1,76})/g, ' "$1\\n" +\n') +
|
||||||
+ ' "-----BEGIN CERTIFICATE-----\\n" +\n'
|
' "-----END CERTIFICATE-----\\n"';
|
||||||
+ converted.toString('base64').replace(/(.{1,76})/g, ' "$1\\n" +\n')
|
|
||||||
+ ' "-----END CERTIFICATE-----\\n"'
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function parseBody(current, lines) {
|
function parseBody(current, lines) {
|
||||||
@ -66,58 +70,40 @@ function parseBody(current, lines) {
|
|||||||
|
|
||||||
function parseCertData(lines) {
|
function parseCertData(lines) {
|
||||||
var certs = []
|
var certs = []
|
||||||
|
, line
|
||||||
, current
|
, current
|
||||||
, skipped = 0
|
, skipped = 0
|
||||||
, match
|
, match
|
||||||
, finished
|
, finished
|
||||||
;
|
;
|
||||||
|
|
||||||
function parseLine(line) {
|
while (lines.length > 0) {
|
||||||
//
|
line = lines.shift();
|
||||||
// Find & nuke whitespace and comments
|
|
||||||
//
|
// nuke whitespace and comments
|
||||||
if (line.match(/^#|^\s*$/)) {
|
if (line.match(/^#|^\s*$/)) continue;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Find CERT
|
|
||||||
//
|
|
||||||
if (line.match(/^CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE/)) {
|
if (line.match(/^CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE/)) {
|
||||||
current = new Certificate();
|
current = new Certificate();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!current) {
|
if (current) {
|
||||||
return;
|
match = line.match(/^CKA_LABEL UTF8 \"(.*)\"/);
|
||||||
}
|
if (match) {
|
||||||
|
current.name = match[1];
|
||||||
//
|
|
||||||
// Find Name
|
|
||||||
//
|
|
||||||
match = line.match(/^CKA_LABEL UTF8 \"(.*)\"/);
|
|
||||||
if (match) {
|
|
||||||
current.name = decodeURIComponent(match[1]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Find Body
|
|
||||||
//
|
|
||||||
if (line.match(/^CKA_VALUE MULTILINE_OCTAL/)) {
|
|
||||||
finished = parseBody(current, lines);
|
|
||||||
if (finished) {
|
|
||||||
certs.push(finished);
|
|
||||||
} else {
|
|
||||||
skipped += 1;
|
|
||||||
}
|
}
|
||||||
current = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
while (lines.length > 0) {
|
if (line.match(/^CKA_VALUE MULTILINE_OCTAL/)) {
|
||||||
parseLine(lines.shift());
|
finished = parseBody(current, lines);
|
||||||
|
if (finished) {
|
||||||
|
certs.push(finished);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
skipped++;
|
||||||
|
}
|
||||||
|
current = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.info("Skipped %s untrusted certificates.", skipped);
|
console.info("Skipped %s untrusted certificates.", skipped);
|
||||||
@ -126,114 +112,50 @@ function parseCertData(lines) {
|
|||||||
return certs;
|
return certs;
|
||||||
}
|
}
|
||||||
|
|
||||||
function dumpCerts(certs, filename, pemsDir) {
|
function dumpCerts(certs) {
|
||||||
certs.forEach(function (cert) {
|
certs.forEach(function (cert, i) {
|
||||||
var pem = cert.quasiPEM()
|
var pathname = path.join(__dirname, 'pems', 'ca-' + i + '.pem')
|
||||||
, pemName = pem.name.toLowerCase().replace(/[\\\s\/\(\)\.]+/g, '-').replace(/-+/g, '-')
|
|
||||||
, pemsFile = path.join(pemsDir, pemName + '.pem')
|
|
||||||
;
|
;
|
||||||
|
|
||||||
/*
|
fs.writeFileSync(pathname, cert.quasiPEM());
|
||||||
if (/[^\w\-]/.test(pemName)) {
|
|
||||||
//pemName = pemName.replace(/\\/g, '-');
|
|
||||||
//pemName = pemName.replace(/[^\w-]/g, '-');
|
|
||||||
console.log(pemName);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
fs.writeFileSync(pemsFile, pem.value);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info("Wrote " + certs.length + " certificates in '"
|
console.info("Wrote " + certs.length + " certificates in '"
|
||||||
+ path.join(__dirname, 'pems/').replace(/'/g, "\\'") + "'.");
|
+ path.join(__dirname, 'pems/').replace(/'/g, "\\'") + "'.");
|
||||||
|
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
filename
|
OUTFILE
|
||||||
, fs.readFileSync(path.join(__dirname, 'ssl-root-cas.tpl.js'), 'utf8')
|
, HEADER
|
||||||
.replace(/\/\*TPL\*\//, certs.map(function (cert) { return cert.quasiPEM().value; }).join(',\n\n'))
|
+ 'var cas = module.exports = [\n'
|
||||||
, 'utf8'
|
+ certs.map(function (cert) { return cert.quasiPEM(); }).join(',\n\n')
|
||||||
|
+ '\n];\n'
|
||||||
|
+ "module.exports.rootCas = cas;\n"
|
||||||
|
+ "module.exports.inject = function () {\n"
|
||||||
|
+ " var opts = require('https').globalAgent.options;\n"
|
||||||
|
+ " if (!opts.ca || !opts.ca.__injected) { opts.ca = (opts.ca||[]).concat(cas); }\n"
|
||||||
|
+ " opts.ca.__injected = true;\n"
|
||||||
|
+ " return module.exports;\n"
|
||||||
|
+ "};\n"
|
||||||
|
+ "module.exports.addFile = function (filepath) {\n"
|
||||||
|
+ " var opts = require('https').globalAgent.options;\n"
|
||||||
|
+ " opts.ca = opts.ca || [];\n"
|
||||||
|
+ " opts.ca.push(require('fs').readFileSync(require('path').join.apply(null, filepath.split(/\\//g))));\n"
|
||||||
|
+ " return module.exports;\n"
|
||||||
|
+ "};\n"
|
||||||
);
|
);
|
||||||
console.info("Wrote '" + filename.replace(/'/g, "\\'") + "'.");
|
console.info("Wrote '" + OUTFILE.replace(/'/g, "\\'") + "'.");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*global Promise*/
|
request(CERTDB_URL, function (error, response, body) {
|
||||||
function run(filename) {
|
if (error) {
|
||||||
var PromiseA;
|
console.error(error.stacktrace);
|
||||||
if ('undefined' !== typeof Promise) {
|
process.exit(1);
|
||||||
PromiseA = Promise;
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
PromiseA = require('bluebird').Promise;
|
|
||||||
} catch(e) {
|
|
||||||
console.error("node " + process.version + " lacks Promise support. Please add bluebird to your project:");
|
|
||||||
console.error(" npm install --save bluebird");
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new PromiseA(function (resolve, reject) {
|
if (response.statusCode !== 200) {
|
||||||
if (!filename) {
|
console.error("Fetching failed with status code %s", response.statusCode);
|
||||||
console.error("Error: No file specified");
|
process.exit(2);
|
||||||
console.info("Usage: %s <outputfile>", process.argv[1]);
|
}
|
||||||
console.info(" where <outputfile> is the name of the file to write to, relative to %s", process.argv[1]);
|
|
||||||
console.info("Note that a 'pems/' directory will also be created at the same location as the <outputfile>, containing individual .pem files.");
|
|
||||||
reject(3);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// main (combined) output file location, relative to this script's location
|
var lines = body.split("\n");
|
||||||
outputFile = path.resolve(__dirname, filename);
|
dumpCerts(parseCertData(lines));
|
||||||
|
});
|
||||||
// pems/ output directory, in the same directory as the outputFile
|
|
||||||
outputPemsDir = path.resolve(outputFile, '../pems');
|
|
||||||
|
|
||||||
if (!fs.existsSync(outputPemsDir)) {
|
|
||||||
fs.mkdirSync(outputPemsDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.info("Loading latest certificates from " + CERTDB_URL);
|
|
||||||
request({ url: CERTDB_URL }, function (error, response, body) {
|
|
||||||
if (error) {
|
|
||||||
console.error(error);
|
|
||||||
console.error(error.stacktrace);
|
|
||||||
reject({ code: 1, error: error });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (response.statusCode !== 200) {
|
|
||||||
console.error("Fetching failed with status code %s", response.statusCode);
|
|
||||||
reject({ code: 2, error: "Fetching failed with status code " + response.statusCode });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (response.headers['content-type'].indexOf('text/plain') !== 0) {
|
|
||||||
console.error("Fetching failed with incorrect content type %s", response.headers['content-type']);
|
|
||||||
reject({ code: 2, error: "Fetching failed with incorrect content type " + response.headers['content-type'] });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var lines = body.split("\n")
|
|
||||||
, certs = parseCertData(lines)
|
|
||||||
, pemsFile = path.join(outputPemsDir, 'mozilla-certdata.txt')
|
|
||||||
;
|
|
||||||
|
|
||||||
fs.writeFileSync(pemsFile, body);
|
|
||||||
dumpCerts(certs, outputFile, outputPemsDir);
|
|
||||||
|
|
||||||
resolve();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.generate = run;
|
|
||||||
|
|
||||||
if (require.main === module) {
|
|
||||||
run(process.argv[2])
|
|
||||||
.then
|
|
||||||
(function () {
|
|
||||||
// something
|
|
||||||
}
|
|
||||||
, function (errcode) {
|
|
||||||
process.exit(errcode);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
28
latest.js
28
latest.js
@ -1,28 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
|
||||||
var generate = require('./ca-store-generator').generate;
|
|
||||||
var latestFile = path.join(__dirname, 'ssl-root-cas-latest.js');
|
|
||||||
|
|
||||||
if (!fs.existsSync(latestFile)) {
|
|
||||||
console.log('Needs latest SSL Root Certificate Authority data', latestFile);
|
|
||||||
module.exports = require('./ssl-root-cas');
|
|
||||||
generate(latestFile).then(function () {
|
|
||||||
console.info('\n');
|
|
||||||
console.info('##########################################################################################');
|
|
||||||
console.info('# #');
|
|
||||||
console.info('# Downloaded the latest Root Certificate Authorities. Restart your server to use them. #');
|
|
||||||
console.info('# #');
|
|
||||||
console.info('##########################################################################################');
|
|
||||||
console.info('\n');
|
|
||||||
}, function (e) {
|
|
||||||
console.warn('\n\n');
|
|
||||||
console.warn("Couldn't download the latest Root CAs, but it's not a big deal.");
|
|
||||||
console.warn('');
|
|
||||||
console.warn('Use "require(\'ssl-root-cas\')" instead of "require(\'ssl-root-cas/latest\')"');
|
|
||||||
console.warn('');
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
module.exports = require('./ssl-root-cas-latest');
|
|
||||||
}
|
|
13
package-lock.json
generated
13
package-lock.json
generated
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "ssl-root-cas",
|
|
||||||
"version": "1.2.5",
|
|
||||||
"lockfileVersion": 1,
|
|
||||||
"requires": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@coolaj86/urequest": {
|
|
||||||
"version": "1.3.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/@coolaj86/urequest/-/urequest-1.3.6.tgz",
|
|
||||||
"integrity": "sha512-9rBXLFSb5D19opGeXdD/WuiFJsA4Pk2r8VUGEAeUZUxB1a2zB47K85BKAx3Gy9i4nZwg22ejlJA+q9DVrpQlbA=="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
23
package.json
23
package.json
@ -1,21 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "ssl-root-cas",
|
"name": "ssl-root-cas",
|
||||||
"version": "1.3.1",
|
"version": "1.1.0",
|
||||||
"description": "The module you need to solve node's SSL woes when including a custom certificate.",
|
"description": "The module you need to solve node's SSL woes when including a custom certificate.",
|
||||||
"main": "ssl-root-cas.js",
|
"main": "ssl-root-cas",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "node ca-store-generator.js ssl-root-cas-test.js",
|
"test": "node ca-store-generator.js",
|
||||||
"prepublish": "node ca-store-generator.js ssl-root-cas.js"
|
"prepublish": "node ca-store-generator.js; mv ssl-root-cas-latest.js ssl-root-cas.js",
|
||||||
|
"postinstall": "node ca-store-generator.js; mv ssl-root-cas-latest.js latest.js"
|
||||||
},
|
},
|
||||||
"files": [
|
|
||||||
"ca-store-generator.js",
|
|
||||||
"ssl-root-cas.tpl.js",
|
|
||||||
"latest.js",
|
|
||||||
"pems"
|
|
||||||
],
|
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://git.coolaj86.com/coolaj86/ssl-root-cas.js.git"
|
"url": "git://github.com/coolaj86/node-ssl-root-cas.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"SSL",
|
"SSL",
|
||||||
@ -30,10 +25,10 @@
|
|||||||
],
|
],
|
||||||
"license": "Apache2",
|
"license": "Apache2",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://git.coolaj86.com/coolaj86/ssl-root-cas.js/issues"
|
"url": "https://github.com/coolaj86/node-ssl-root-cas/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://git.coolaj86.com/coolaj86/ssl-root-cas.js",
|
"homepage": "https://github.com/coolaj86/node-ssl-root-cas",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@coolaj86/urequest": "^1.3.6"
|
"request": "~2.34.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
0
pems/.gitkeep
Normal file
0
pems/.gitkeep
Normal file
@ -1,28 +0,0 @@
|
|||||||
// AC RAIZ FNMT-RCM
|
|
||||||
"-----BEGIN CERTIFICATE-----\n" +
|
|
||||||
"MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT\n" +
|
|
||||||
"AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw\n" +
|
|
||||||
"MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD\n" +
|
|
||||||
"TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC\n" +
|
|
||||||
"ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf\n" +
|
|
||||||
"qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr\n" +
|
|
||||||
"btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL\n" +
|
|
||||||
"j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou\n" +
|
|
||||||
"08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw\n" +
|
|
||||||
"WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT\n" +
|
|
||||||
"tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ\n" +
|
|
||||||
"47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC\n" +
|
|
||||||
"ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa\n" +
|
|
||||||
"i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\n" +
|
|
||||||
"FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o\n" +
|
|
||||||
"dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD\n" +
|
|
||||||
"nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s\n" +
|
|
||||||
"D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ\n" +
|
|
||||||
"j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT\n" +
|
|
||||||
"Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW\n" +
|
|
||||||
"+YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7\n" +
|
|
||||||
"Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d\n" +
|
|
||||||
"8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm\n" +
|
|
||||||
"5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG\n" +
|
|
||||||
"rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=\n" +
|
|
||||||
"-----END CERTIFICATE-----\n"
|
|
@ -1,18 +0,0 @@
|
|||||||
// Amazon Root CA 1
|
|
||||||
"-----BEGIN CERTIFICATE-----\n" +
|
|
||||||
"MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD\n" +
|
|
||||||
"VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1\n" +
|
|
||||||
"MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv\n" +
|
|
||||||
"bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n" +
|
|
||||||
"ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH\n" +
|
|
||||||
"FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ\n" +
|
|
||||||
"gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t\n" +
|
|
||||||
"dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce\n" +
|
|
||||||
"VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB\n" +
|
|
||||||
"/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3\n" +
|
|
||||||
"DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM\n" +
|
|
||||||
"CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy\n" +
|
|
||||||
"8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa\n" +
|
|
||||||
"2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2\n" +
|
|
||||||
"xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5\n" +
|
|
||||||
"-----END CERTIFICATE-----\n"
|
|
@ -1,27 +0,0 @@
|
|||||||
// Amazon Root CA 2
|
|
||||||
"-----BEGIN CERTIFICATE-----\n" +
|
|
||||||
"MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD\n" +
|
|
||||||
"VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1\n" +
|
|
||||||
"MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv\n" +
|
|
||||||
"bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC\n" +
|
|
||||||
"ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4\n" +
|
|
||||||
"kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp\n" +
|
|
||||||
"N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9\n" +
|
|
||||||
"AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd\n" +
|
|
||||||
"fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx\n" +
|
|
||||||
"kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS\n" +
|
|
||||||
"btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0\n" +
|
|
||||||
"Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN\n" +
|
|
||||||
"c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+\n" +
|
|
||||||
"3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw\n" +
|
|
||||||
"DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA\n" +
|
|
||||||
"A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY\n" +
|
|
||||||
"+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE\n" +
|
|
||||||
"YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW\n" +
|
|
||||||
"xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ\n" +
|
|
||||||
"gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW\n" +
|
|
||||||
"aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV\n" +
|
|
||||||
"Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3\n" +
|
|
||||||
"KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi\n" +
|
|
||||||
"JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw=\n" +
|
|
||||||
"-----END CERTIFICATE-----\n"
|
|
@ -1,11 +0,0 @@
|
|||||||
// Amazon Root CA 3
|
|
||||||
"-----BEGIN CERTIFICATE-----\n" +
|
|
||||||
"MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG\n" +
|
|
||||||
"EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy\n" +
|
|
||||||
"NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ\n" +
|
|
||||||
"MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB\n" +
|
|
||||||
"f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr\n" +
|
|
||||||
"Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43\n" +
|
|
||||||
"rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc\n" +
|
|
||||||
"eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==\n" +
|
|
||||||
"-----END CERTIFICATE-----\n"
|
|
@ -1,12 +0,0 @@
|
|||||||
// Amazon Root CA 4
|
|
||||||
"-----BEGIN CERTIFICATE-----\n" +
|
|
||||||
"MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG\n" +
|
|
||||||
"EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy\n" +
|
|
||||||
"NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ\n" +
|
|
||||||
"MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN\n" +
|
|
||||||
"/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri\n" +
|
|
||||||
"83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV\n" +
|
|
||||||
"HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA\n" +
|
|
||||||
"MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1\n" +
|
|
||||||
"AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==\n" +
|
|
||||||
"-----END CERTIFICATE-----\n"
|
|
14
pems/ca-0.pem
Normal file
14
pems/ca-0.pem
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// GTE CyberTrust Global Root
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg\n" +
|
||||||
|
"Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG\n" +
|
||||||
|
"A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz\n" +
|
||||||
|
"MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL\n" +
|
||||||
|
"Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0\n" +
|
||||||
|
"IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u\n" +
|
||||||
|
"sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql\n" +
|
||||||
|
"HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID\n" +
|
||||||
|
"AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW\n" +
|
||||||
|
"M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF\n" +
|
||||||
|
"NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
17
pems/ca-1.pem
Normal file
17
pems/ca-1.pem
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// Thawte Server CA
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT\n" +
|
||||||
|
"DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs\n" +
|
||||||
|
"dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE\n" +
|
||||||
|
"AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j\n" +
|
||||||
|
"b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV\n" +
|
||||||
|
"BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u\n" +
|
||||||
|
"c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG\n" +
|
||||||
|
"A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0\n" +
|
||||||
|
"ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl\n" +
|
||||||
|
"/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7\n" +
|
||||||
|
"1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR\n" +
|
||||||
|
"MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J\n" +
|
||||||
|
"GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ\n" +
|
||||||
|
"GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
26
pems/ca-101.pem
Normal file
26
pems/ca-101.pem
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH\n" +
|
||||||
|
"DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q\n" +
|
||||||
|
"aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry\n" +
|
||||||
|
"b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV\n" +
|
||||||
|
"BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg\n" +
|
||||||
|
"S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4\n" +
|
||||||
|
"MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl\n" +
|
||||||
|
"IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF\n" +
|
||||||
|
"n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl\n" +
|
||||||
|
"IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft\n" +
|
||||||
|
"dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl\n" +
|
||||||
|
"cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B\n" +
|
||||||
|
"AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO\n" +
|
||||||
|
"Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1\n" +
|
||||||
|
"xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR\n" +
|
||||||
|
"6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL\n" +
|
||||||
|
"hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd\n" +
|
||||||
|
"BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF\n" +
|
||||||
|
"MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4\n" +
|
||||||
|
"N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT\n" +
|
||||||
|
"y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh\n" +
|
||||||
|
"LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M\n" +
|
||||||
|
"dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
18
pems/ca-102.pem
Normal file
18
pems/ca-102.pem
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Buypass Class 2 CA 1
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU\n" +
|
||||||
|
"QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2\n" +
|
||||||
|
"MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh\n" +
|
||||||
|
"c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI\n" +
|
||||||
|
"hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M\n" +
|
||||||
|
"cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83\n" +
|
||||||
|
"0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4\n" +
|
||||||
|
"0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R\n" +
|
||||||
|
"uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC\n" +
|
||||||
|
"MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P\n" +
|
||||||
|
"AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV\n" +
|
||||||
|
"1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt\n" +
|
||||||
|
"7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2\n" +
|
||||||
|
"fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w\n" +
|
||||||
|
"wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
18
pems/ca-103.pem
Normal file
18
pems/ca-103.pem
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Buypass Class 3 CA 1
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU\n" +
|
||||||
|
"QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1\n" +
|
||||||
|
"MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh\n" +
|
||||||
|
"c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI\n" +
|
||||||
|
"hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx\n" +
|
||||||
|
"ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0\n" +
|
||||||
|
"n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia\n" +
|
||||||
|
"AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c\n" +
|
||||||
|
"1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC\n" +
|
||||||
|
"MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P\n" +
|
||||||
|
"AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7\n" +
|
||||||
|
"pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA\n" +
|
||||||
|
"EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5\n" +
|
||||||
|
"htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj\n" +
|
||||||
|
"el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
30
pems/ca-104.pem
Normal file
30
pems/ca-104.pem
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF\n" +
|
||||||
|
"bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg\n" +
|
||||||
|
"QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe\n" +
|
||||||
|
"Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p\n" +
|
||||||
|
"ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt\n" +
|
||||||
|
"IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG\n" +
|
||||||
|
"SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by\n" +
|
||||||
|
"X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b\n" +
|
||||||
|
"gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr\n" +
|
||||||
|
"eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ\n" +
|
||||||
|
"TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy\n" +
|
||||||
|
"Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn\n" +
|
||||||
|
"uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI\n" +
|
||||||
|
"qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm\n" +
|
||||||
|
"ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0\n" +
|
||||||
|
"Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB\n" +
|
||||||
|
"/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW\n" +
|
||||||
|
"Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t\n" +
|
||||||
|
"FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm\n" +
|
||||||
|
"zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k\n" +
|
||||||
|
"XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT\n" +
|
||||||
|
"bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU\n" +
|
||||||
|
"RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK\n" +
|
||||||
|
"1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt\n" +
|
||||||
|
"2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ\n" +
|
||||||
|
"Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9\n" +
|
||||||
|
"AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
19
pems/ca-106.pem
Normal file
19
pems/ca-106.pem
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
// CNNIC ROOT
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE\n" +
|
||||||
|
"ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw\n" +
|
||||||
|
"OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw\n" +
|
||||||
|
"ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD\n" +
|
||||||
|
"o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz\n" +
|
||||||
|
"VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT\n" +
|
||||||
|
"VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or\n" +
|
||||||
|
"czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK\n" +
|
||||||
|
"y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC\n" +
|
||||||
|
"wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S\n" +
|
||||||
|
"lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5\n" +
|
||||||
|
"Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM\n" +
|
||||||
|
"O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8\n" +
|
||||||
|
"BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2\n" +
|
||||||
|
"G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m\n" +
|
||||||
|
"mxE=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
20
pems/ca-107.pem
Normal file
20
pems/ca-107.pem
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// ApplicationCA - Japanese Government
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT\n" +
|
||||||
|
"SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw\n" +
|
||||||
|
"MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl\n" +
|
||||||
|
"cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\n" +
|
||||||
|
"CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4\n" +
|
||||||
|
"fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN\n" +
|
||||||
|
"wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE\n" +
|
||||||
|
"jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu\n" +
|
||||||
|
"nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU\n" +
|
||||||
|
"WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV\n" +
|
||||||
|
"BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD\n" +
|
||||||
|
"vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs\n" +
|
||||||
|
"o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g\n" +
|
||||||
|
"/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD\n" +
|
||||||
|
"io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW\n" +
|
||||||
|
"dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL\n" +
|
||||||
|
"rosot4LKGAfmt1t06SAZf7IbiVQ=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
22
pems/ca-116.pem
Normal file
22
pems/ca-116.pem
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// CA Disig
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK\n" +
|
||||||
|
"QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw\n" +
|
||||||
|
"MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz\n" +
|
||||||
|
"bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3\n" +
|
||||||
|
"DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm\n" +
|
||||||
|
"GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD\n" +
|
||||||
|
"Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo\n" +
|
||||||
|
"hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt\n" +
|
||||||
|
"ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w\n" +
|
||||||
|
"gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P\n" +
|
||||||
|
"AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz\n" +
|
||||||
|
"aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff\n" +
|
||||||
|
"ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa\n" +
|
||||||
|
"BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t\n" +
|
||||||
|
"WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3\n" +
|
||||||
|
"mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/\n" +
|
||||||
|
"CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K\n" +
|
||||||
|
"ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA\n" +
|
||||||
|
"4Z7CRneC9VkGjCFMhwnN5ag=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
26
pems/ca-117.pem
Normal file
26
pems/ca-117.pem
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// Juur-SK
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA\n" +
|
||||||
|
"c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw\n" +
|
||||||
|
"DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG\n" +
|
||||||
|
"SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy\n" +
|
||||||
|
"aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n" +
|
||||||
|
"ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf\n" +
|
||||||
|
"TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC\n" +
|
||||||
|
"+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw\n" +
|
||||||
|
"UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa\n" +
|
||||||
|
"Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF\n" +
|
||||||
|
"MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD\n" +
|
||||||
|
"HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh\n" +
|
||||||
|
"AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA\n" +
|
||||||
|
"cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr\n" +
|
||||||
|
"AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw\n" +
|
||||||
|
"cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE\n" +
|
||||||
|
"FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G\n" +
|
||||||
|
"A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo\n" +
|
||||||
|
"ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL\n" +
|
||||||
|
"abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678\n" +
|
||||||
|
"IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh\n" +
|
||||||
|
"Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2\n" +
|
||||||
|
"yyqcjg==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
17
pems/ca-12.pem
Normal file
17
pems/ca-12.pem
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// ValiCert Class 1 VA
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp\n" +
|
||||||
|
"b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\n" +
|
||||||
|
"YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh\n" +
|
||||||
|
"bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy\n" +
|
||||||
|
"MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0\n" +
|
||||||
|
"d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg\n" +
|
||||||
|
"UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0\n" +
|
||||||
|
"LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA\n" +
|
||||||
|
"A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi\n" +
|
||||||
|
"GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm\n" +
|
||||||
|
"DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG\n" +
|
||||||
|
"lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX\n" +
|
||||||
|
"icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP\n" +
|
||||||
|
"Orf1LXLI\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
29
pems/ca-120.pem
Normal file
29
pems/ca-120.pem
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// ACEDICOM Root
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD\n" +
|
||||||
|
"T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4\n" +
|
||||||
|
"MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG\n" +
|
||||||
|
"A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF\n" +
|
||||||
|
"AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk\n" +
|
||||||
|
"WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD\n" +
|
||||||
|
"YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew\n" +
|
||||||
|
"MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb\n" +
|
||||||
|
"m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk\n" +
|
||||||
|
"HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT\n" +
|
||||||
|
"xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2\n" +
|
||||||
|
"3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9\n" +
|
||||||
|
"2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq\n" +
|
||||||
|
"TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz\n" +
|
||||||
|
"4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU\n" +
|
||||||
|
"9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv\n" +
|
||||||
|
"bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg\n" +
|
||||||
|
"aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP\n" +
|
||||||
|
"eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk\n" +
|
||||||
|
"zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1\n" +
|
||||||
|
"ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI\n" +
|
||||||
|
"KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq\n" +
|
||||||
|
"nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE\n" +
|
||||||
|
"I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp\n" +
|
||||||
|
"MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o\n" +
|
||||||
|
"tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
14
pems/ca-121.pem
Normal file
14
pems/ca-121.pem
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Verisign Class 1 Public Primary Certification Authority
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx\n" +
|
||||||
|
"FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5\n" +
|
||||||
|
"IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow\n" +
|
||||||
|
"XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx\n" +
|
||||||
|
"IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA\n" +
|
||||||
|
"A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ\n" +
|
||||||
|
"VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2\n" +
|
||||||
|
"yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa\n" +
|
||||||
|
"XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n\n" +
|
||||||
|
"0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ\n" +
|
||||||
|
"RjXZ+Hxb\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
14
pems/ca-122.pem
Normal file
14
pems/ca-122.pem
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Verisign Class 3 Public Primary Certification Authority
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx\n" +
|
||||||
|
"FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5\n" +
|
||||||
|
"IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow\n" +
|
||||||
|
"XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz\n" +
|
||||||
|
"IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA\n" +
|
||||||
|
"A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94\n" +
|
||||||
|
"f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol\n" +
|
||||||
|
"hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky\n" +
|
||||||
|
"CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX\n" +
|
||||||
|
"bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/\n" +
|
||||||
|
"D/xwzoiQ\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
20
pems/ca-124.pem
Normal file
20
pems/ca-124.pem
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG\n" +
|
||||||
|
"EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz\n" +
|
||||||
|
"ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3\n" +
|
||||||
|
"MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0\n" +
|
||||||
|
"cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u\n" +
|
||||||
|
"aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\n" +
|
||||||
|
"AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY\n" +
|
||||||
|
"8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y\n" +
|
||||||
|
"jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI\n" +
|
||||||
|
"JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk\n" +
|
||||||
|
"9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD\n" +
|
||||||
|
"AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG\n" +
|
||||||
|
"SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d\n" +
|
||||||
|
"F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq\n" +
|
||||||
|
"D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4\n" +
|
||||||
|
"Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq\n" +
|
||||||
|
"fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
21
pems/ca-126.pem
Normal file
21
pems/ca-126.pem
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// TC TrustCenter Universal CA III
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC\n" +
|
||||||
|
"REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy\n" +
|
||||||
|
"IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe\n" +
|
||||||
|
"Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU\n" +
|
||||||
|
"QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex\n" +
|
||||||
|
"KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB\n" +
|
||||||
|
"AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt\n" +
|
||||||
|
"QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO\n" +
|
||||||
|
"juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut\n" +
|
||||||
|
"CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1\n" +
|
||||||
|
"M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G\n" +
|
||||||
|
"A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/\n" +
|
||||||
|
"BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA\n" +
|
||||||
|
"g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+\n" +
|
||||||
|
"KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK\n" +
|
||||||
|
"BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV\n" +
|
||||||
|
"CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq\n" +
|
||||||
|
"woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
17
pems/ca-13.pem
Normal file
17
pems/ca-13.pem
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// ValiCert Class 2 VA
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp\n" +
|
||||||
|
"b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\n" +
|
||||||
|
"YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh\n" +
|
||||||
|
"bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw\n" +
|
||||||
|
"MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0\n" +
|
||||||
|
"d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg\n" +
|
||||||
|
"UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0\n" +
|
||||||
|
"LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA\n" +
|
||||||
|
"A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC\n" +
|
||||||
|
"CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf\n" +
|
||||||
|
"ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ\n" +
|
||||||
|
"SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV\n" +
|
||||||
|
"UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8\n" +
|
||||||
|
"W9ViH0Pd\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
29
pems/ca-139.pem
Normal file
29
pems/ca-139.pem
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Certinomis - Autorité Racine
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK\n" +
|
||||||
|
"Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg\n" +
|
||||||
|
"LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG\n" +
|
||||||
|
"A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw\n" +
|
||||||
|
"JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD\n" +
|
||||||
|
"ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa\n" +
|
||||||
|
"wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly\n" +
|
||||||
|
"Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw\n" +
|
||||||
|
"2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N\n" +
|
||||||
|
"jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q\n" +
|
||||||
|
"c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC\n" +
|
||||||
|
"lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb\n" +
|
||||||
|
"xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g\n" +
|
||||||
|
"530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna\n" +
|
||||||
|
"4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G\n" +
|
||||||
|
"A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ\n" +
|
||||||
|
"KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x\n" +
|
||||||
|
"WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva\n" +
|
||||||
|
"R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40\n" +
|
||||||
|
"nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B\n" +
|
||||||
|
"CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv\n" +
|
||||||
|
"JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE\n" +
|
||||||
|
"qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b\n" +
|
||||||
|
"WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE\n" +
|
||||||
|
"wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/\n" +
|
||||||
|
"vgt2Fl43N+bYdJeimUV5\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
17
pems/ca-14.pem
Normal file
17
pems/ca-14.pem
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// RSA Root Certificate 1
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp\n" +
|
||||||
|
"b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\n" +
|
||||||
|
"YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh\n" +
|
||||||
|
"bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw\n" +
|
||||||
|
"MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0\n" +
|
||||||
|
"d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg\n" +
|
||||||
|
"UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0\n" +
|
||||||
|
"LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA\n" +
|
||||||
|
"A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td\n" +
|
||||||
|
"3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H\n" +
|
||||||
|
"BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs\n" +
|
||||||
|
"3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF\n" +
|
||||||
|
"V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r\n" +
|
||||||
|
"on+jjBXu\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
33
pems/ca-140.pem
Normal file
33
pems/ca-140.pem
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// Root CA Generalitat Valenciana
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE\n" +
|
||||||
|
"ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290\n" +
|
||||||
|
"IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3\n" +
|
||||||
|
"WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE\n" +
|
||||||
|
"CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G\n" +
|
||||||
|
"CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2\n" +
|
||||||
|
"F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B\n" +
|
||||||
|
"ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ\n" +
|
||||||
|
"D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte\n" +
|
||||||
|
"JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB\n" +
|
||||||
|
"AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n\n" +
|
||||||
|
"dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB\n" +
|
||||||
|
"ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl\n" +
|
||||||
|
"AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA\n" +
|
||||||
|
"YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy\n" +
|
||||||
|
"AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA\n" +
|
||||||
|
"aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt\n" +
|
||||||
|
"AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA\n" +
|
||||||
|
"YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu\n" +
|
||||||
|
"AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA\n" +
|
||||||
|
"OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0\n" +
|
||||||
|
"dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV\n" +
|
||||||
|
"BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G\n" +
|
||||||
|
"A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S\n" +
|
||||||
|
"b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh\n" +
|
||||||
|
"TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz\n" +
|
||||||
|
"Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63\n" +
|
||||||
|
"NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH\n" +
|
||||||
|
"iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt\n" +
|
||||||
|
"+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
21
pems/ca-141.pem
Normal file
21
pems/ca-141.pem
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// A-Trust-nQual-03
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE\n" +
|
||||||
|
"Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy\n" +
|
||||||
|
"a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R\n" +
|
||||||
|
"dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw\n" +
|
||||||
|
"RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0\n" +
|
||||||
|
"ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1\n" +
|
||||||
|
"c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA\n" +
|
||||||
|
"zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n\n" +
|
||||||
|
"yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE\n" +
|
||||||
|
"SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4\n" +
|
||||||
|
"iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V\n" +
|
||||||
|
"cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV\n" +
|
||||||
|
"eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40\n" +
|
||||||
|
"ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr\n" +
|
||||||
|
"sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd\n" +
|
||||||
|
"JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS\n" +
|
||||||
|
"mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6\n" +
|
||||||
|
"ahq97BvIxYSazQ==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
37
pems/ca-148.pem
Normal file
37
pems/ca-148.pem
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// StartCom Certification Authority
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN\n" +
|
||||||
|
"U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu\n" +
|
||||||
|
"ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0\n" +
|
||||||
|
"NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk\n" +
|
||||||
|
"LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg\n" +
|
||||||
|
"U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw\n" +
|
||||||
|
"ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y\n" +
|
||||||
|
"o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/\n" +
|
||||||
|
"Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d\n" +
|
||||||
|
"eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt\n" +
|
||||||
|
"2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z\n" +
|
||||||
|
"6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ\n" +
|
||||||
|
"osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/\n" +
|
||||||
|
"untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc\n" +
|
||||||
|
"UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT\n" +
|
||||||
|
"37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD\n" +
|
||||||
|
"VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ\n" +
|
||||||
|
"Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0\n" +
|
||||||
|
"dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu\n" +
|
||||||
|
"c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv\n" +
|
||||||
|
"bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0\n" +
|
||||||
|
"aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0\n" +
|
||||||
|
"aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t\n" +
|
||||||
|
"L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG\n" +
|
||||||
|
"cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5\n" +
|
||||||
|
"fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm\n" +
|
||||||
|
"N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN\n" +
|
||||||
|
"Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T\n" +
|
||||||
|
"tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX\n" +
|
||||||
|
"e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA\n" +
|
||||||
|
"2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs\n" +
|
||||||
|
"HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE\n" +
|
||||||
|
"JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib\n" +
|
||||||
|
"D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
28
pems/ca-149.pem
Normal file
28
pems/ca-149.pem
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// StartCom Certification Authority G2
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN\n" +
|
||||||
|
"U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg\n" +
|
||||||
|
"RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE\n" +
|
||||||
|
"ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp\n" +
|
||||||
|
"dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O\n" +
|
||||||
|
"o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG\n" +
|
||||||
|
"4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi\n" +
|
||||||
|
"Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul\n" +
|
||||||
|
"Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs\n" +
|
||||||
|
"O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H\n" +
|
||||||
|
"vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L\n" +
|
||||||
|
"nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS\n" +
|
||||||
|
"FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa\n" +
|
||||||
|
"z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E\n" +
|
||||||
|
"BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ\n" +
|
||||||
|
"KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K\n" +
|
||||||
|
"2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk\n" +
|
||||||
|
"J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+\n" +
|
||||||
|
"JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG\n" +
|
||||||
|
"/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc\n" +
|
||||||
|
"nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld\n" +
|
||||||
|
"blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc\n" +
|
||||||
|
"l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm\n" +
|
||||||
|
"7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm\n" +
|
||||||
|
"obp573PYtlNXLfbQ4ddI\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
23
pems/ca-154.pem
Normal file
23
pems/ca-154.pem
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// TURKTRUST Certificate Services Provider Root 2007
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF\n" +
|
||||||
|
"bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP\n" +
|
||||||
|
"MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg\n" +
|
||||||
|
"QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X\n" +
|
||||||
|
"DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl\n" +
|
||||||
|
"a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN\n" +
|
||||||
|
"BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp\n" +
|
||||||
|
"bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw\n" +
|
||||||
|
"DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N\n" +
|
||||||
|
"YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv\n" +
|
||||||
|
"KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya\n" +
|
||||||
|
"KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT\n" +
|
||||||
|
"rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC\n" +
|
||||||
|
"AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP\n" +
|
||||||
|
"BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s\n" +
|
||||||
|
"Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I\n" +
|
||||||
|
"aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO\n" +
|
||||||
|
"Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb\n" +
|
||||||
|
"BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK\n" +
|
||||||
|
"poRq0Tl9\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
46
pems/ca-157.pem
Normal file
46
pems/ca-157.pem
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// PSCProcert
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk\n" +
|
||||||
|
"ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ\n" +
|
||||||
|
"MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz\n" +
|
||||||
|
"dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl\n" +
|
||||||
|
"cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw\n" +
|
||||||
|
"IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw\n" +
|
||||||
|
"MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w\n" +
|
||||||
|
"DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD\n" +
|
||||||
|
"ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp\n" +
|
||||||
|
"Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw\n" +
|
||||||
|
"DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC\n" +
|
||||||
|
"wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA\n" +
|
||||||
|
"3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh\n" +
|
||||||
|
"RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO\n" +
|
||||||
|
"EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2\n" +
|
||||||
|
"0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH\n" +
|
||||||
|
"0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU\n" +
|
||||||
|
"td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw\n" +
|
||||||
|
"Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp\n" +
|
||||||
|
"r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/\n" +
|
||||||
|
"AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz\n" +
|
||||||
|
"Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId\n" +
|
||||||
|
"xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp\n" +
|
||||||
|
"ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH\n" +
|
||||||
|
"EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h\n" +
|
||||||
|
"Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k\n" +
|
||||||
|
"ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG\n" +
|
||||||
|
"9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG\n" +
|
||||||
|
"MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG\n" +
|
||||||
|
"LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52\n" +
|
||||||
|
"ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy\n" +
|
||||||
|
"YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v\n" +
|
||||||
|
"Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o\n" +
|
||||||
|
"dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq\n" +
|
||||||
|
"T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN\n" +
|
||||||
|
"g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q\n" +
|
||||||
|
"uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1\n" +
|
||||||
|
"n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn\n" +
|
||||||
|
"FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo\n" +
|
||||||
|
"5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq\n" +
|
||||||
|
"3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5\n" +
|
||||||
|
"poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y\n" +
|
||||||
|
"eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
21
pems/ca-158.pem
Normal file
21
pems/ca-158.pem
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// China Internet Network Information Center EV Certificates Root
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV\n" +
|
||||||
|
"BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D\n" +
|
||||||
|
"aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg\n" +
|
||||||
|
"Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG\n" +
|
||||||
|
"A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM\n" +
|
||||||
|
"PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl\n" +
|
||||||
|
"cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y\n" +
|
||||||
|
"jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV\n" +
|
||||||
|
"98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H\n" +
|
||||||
|
"klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23\n" +
|
||||||
|
"KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC\n" +
|
||||||
|
"7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV\n" +
|
||||||
|
"HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD\n" +
|
||||||
|
"glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5\n" +
|
||||||
|
"0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM\n" +
|
||||||
|
"7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws\n" +
|
||||||
|
"ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0\n" +
|
||||||
|
"5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
30
pems/ca-160.pem
Normal file
30
pems/ca-160.pem
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// Swisscom Root EV CA 2
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE\n" +
|
||||||
|
"BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl\n" +
|
||||||
|
"cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN\n" +
|
||||||
|
"MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT\n" +
|
||||||
|
"HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg\n" +
|
||||||
|
"Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz\n" +
|
||||||
|
"o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy\n" +
|
||||||
|
"Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti\n" +
|
||||||
|
"GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li\n" +
|
||||||
|
"qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH\n" +
|
||||||
|
"Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG\n" +
|
||||||
|
"alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa\n" +
|
||||||
|
"m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox\n" +
|
||||||
|
"bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi\n" +
|
||||||
|
"xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/\n" +
|
||||||
|
"BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED\n" +
|
||||||
|
"MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB\n" +
|
||||||
|
"bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL\n" +
|
||||||
|
"j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU\n" +
|
||||||
|
"wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7\n" +
|
||||||
|
"XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH\n" +
|
||||||
|
"59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/\n" +
|
||||||
|
"23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq\n" +
|
||||||
|
"J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA\n" +
|
||||||
|
"HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi\n" +
|
||||||
|
"uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW\n" +
|
||||||
|
"l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
28
pems/ca-161.pem
Normal file
28
pems/ca-161.pem
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// CA Disig Root R1
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw\n" +
|
||||||
|
"EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp\n" +
|
||||||
|
"ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx\n" +
|
||||||
|
"EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp\n" +
|
||||||
|
"c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy\n" +
|
||||||
|
"3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8\n" +
|
||||||
|
"u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2\n" +
|
||||||
|
"m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk\n" +
|
||||||
|
"CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa\n" +
|
||||||
|
"YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6\n" +
|
||||||
|
"vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL\n" +
|
||||||
|
"LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX\n" +
|
||||||
|
"ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is\n" +
|
||||||
|
"XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV\n" +
|
||||||
|
"HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ\n" +
|
||||||
|
"04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR\n" +
|
||||||
|
"xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B\n" +
|
||||||
|
"LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM\n" +
|
||||||
|
"CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb\n" +
|
||||||
|
"VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85\n" +
|
||||||
|
"YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS\n" +
|
||||||
|
"ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix\n" +
|
||||||
|
"lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N\n" +
|
||||||
|
"UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ\n" +
|
||||||
|
"a7+h89n07eLw4+1knj0vllJPgFOL\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
31
pems/ca-163.pem
Normal file
31
pems/ca-163.pem
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
// SG TRUST SERVICES RACINE
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIGGTCCBAGgAwIBAgIIPtVRGeZNzn4wDQYJKoZIhvcNAQELBQAwajEhMB8GA1UEAxMYU0cgVFJV\n" +
|
||||||
|
"U1QgU0VSVklDRVMgUkFDSU5FMRwwGgYDVQQLExMwMDAyIDQzNTI1Mjg5NTAwMDIyMRowGAYDVQQK\n" +
|
||||||
|
"ExFTRyBUUlVTVCBTRVJWSUNFUzELMAkGA1UEBhMCRlIwHhcNMTAwOTA2MTI1MzQyWhcNMzAwOTA1\n" +
|
||||||
|
"MTI1MzQyWjBqMSEwHwYDVQQDExhTRyBUUlVTVCBTRVJWSUNFUyBSQUNJTkUxHDAaBgNVBAsTEzAw\n" +
|
||||||
|
"MDIgNDM1MjUyODk1MDAwMjIxGjAYBgNVBAoTEVNHIFRSVVNUIFNFUlZJQ0VTMQswCQYDVQQGEwJG\n" +
|
||||||
|
"UjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANqoVgLsfJXwTukK0rcHoyKLULO5Lhk9\n" +
|
||||||
|
"V9sZqtIr5M5C4myh5F0lHjMdtkXRtPpZilZwyW0IdmlwmubHnAgwE/7m0ZJoYT5MEfJu8rF7V1ZL\n" +
|
||||||
|
"Cb3cD9lxDOiaN94iEByZXtaxFwfTpDktwhpz/cpLKQfCeSnIyCauLMT8I8hL4oZWDyj9tocbaF85\n" +
|
||||||
|
"ZEX9aINsdSQePHWZYfrSFPipS7HYfad40hNiZbXWvn5qA7y1svxkMMPQwpk9maTTzdGxxFOHe0wT\n" +
|
||||||
|
"E2Z/v9VlU2j5XB7ltP82mUWjn2LAfxGCAVTeD2WlOa6dSEyJoxA74OaD9bDaLB56HFwfAKzMq6dg\n" +
|
||||||
|
"ZLPGxXvHVUZ0PJCBDkqOWZ1UsEixUkw7mO6r2jS3U81J2i/rlb4MVxH2lkwEeVyZ1eXkvm/qR+5R\n" +
|
||||||
|
"S+8iJq612BGqQ7t4vwt+tN3PdB0lqYljseI0gcSINTjiAg0PE8nVKoIV8IrEQzJW5FMdHay2z32b\n" +
|
||||||
|
"ll0eZOl0c8RW5BZKUm2SOdPhTQ4/YrnerbUdZbldUv5dCamctKQM2S9FdqXPjmqanqqwEaHrYcbr\n" +
|
||||||
|
"Px78ZrQSnUZ/MhaJvnFFr5Eh2f2Tv7QCkUL/SR/tixVo3R+OrJvdggWcRGkWZBdWX0EPSk8ED2VQ\n" +
|
||||||
|
"hpOX7EW/XcIc3M/E2DrmeAXQxVVVqV7+qzohu+VyFPcLAgMBAAGjgcIwgb8wHQYDVR0OBBYEFCkg\n" +
|
||||||
|
"y/HDD9oGjhOTh/5fYBopu/O2MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUKSDL8cMP2gaO\n" +
|
||||||
|
"E5OH/l9gGim787YwEQYDVR0gBAowCDAGBgRVHSAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j\n" +
|
||||||
|
"cmwuc2d0cnVzdHNlcnZpY2VzLmNvbS9yYWNpbmUtR3JvdXBlU0cvTGF0ZXN0Q1JMMA4GA1UdDwEB\n" +
|
||||||
|
"/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEATEZn4ERQ9cW2urJRCiUTHbfHiC4fuStkoMuTiFJZ\n" +
|
||||||
|
"qmD1zClSF/8E5ze0MRFGfisebKeLPEeaXvSqXZA7RT2fSsmKe47A7j55i5KjyJRKuCgRa6YlX129\n" +
|
||||||
|
"x8j7g09VMeZc8BN8471/Kiw3N5RJr4QfFCeiWBCPCjk3GhIgQY8Z9qkfGe2yNLKtfTNEi18KB0Py\n" +
|
||||||
|
"dkVFLa3kjQ4A/QQIqudr+xe9sAhWDjUqcvCz5006Tw3c82ASszhkjNv54SaNL+9O6CRHPjY0imkP\n" +
|
||||||
|
"KGuLh8a9hSb50+tpIVZgkdb34GLCqHGuLt5mI7VSRqakSDcsfwEWVxH3Jw0O5Q/WkEXhHj8h3NL8\n" +
|
||||||
|
"FhgTPk1qsiZqQF4leP049KxYejcbmEAEx47J1MRnYbGYrvDNDty5r2WDewoEij9hqvddQYbmxkzC\n" +
|
||||||
|
"TzpcVuooO6dEz8hKZPVyYC3jQ7hK4HU8MuSqFtcRucFF2ZtmY2blIrc07rrVdC8lZPOBVMt33lfU\n" +
|
||||||
|
"k+OsBzE6PlwDg1dTx/D+aNglUE0SyObhlY1nqzyTPxcCujjXnvcwpT09RAEzGpqfjtCf8e4wiHPv\n" +
|
||||||
|
"riQZupdzFcHscQyEZLV77LxpPqRtCRY2yko5isune8YdfucziMm+MG2chZUh6Uc7Bn6B4upG5nBY\n" +
|
||||||
|
"gOao8p0LadEziVkw82TTC/bOKwn7fRB2LhA=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
22
pems/ca-18.pem
Normal file
22
pems/ca-18.pem
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Verisign Class 4 Public Primary Certification Authority - G3
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV\n" +
|
||||||
|
"UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv\n" +
|
||||||
|
"cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n" +
|
||||||
|
"IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh\n" +
|
||||||
|
"dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw\n" +
|
||||||
|
"CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy\n" +
|
||||||
|
"dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv\n" +
|
||||||
|
"cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg\n" +
|
||||||
|
"Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n" +
|
||||||
|
"ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS\n" +
|
||||||
|
"tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM\n" +
|
||||||
|
"8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW\n" +
|
||||||
|
"Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX\n" +
|
||||||
|
"Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA\n" +
|
||||||
|
"j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt\n" +
|
||||||
|
"mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm\n" +
|
||||||
|
"fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd\n" +
|
||||||
|
"RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG\n" +
|
||||||
|
"UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
25
pems/ca-19.pem
Normal file
25
pems/ca-19.pem
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Entrust.net Secure Server CA
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV\n" +
|
||||||
|
"BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg\n" +
|
||||||
|
"cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl\n" +
|
||||||
|
"ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv\n" +
|
||||||
|
"cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG\n" +
|
||||||
|
"A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi\n" +
|
||||||
|
"eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p\n" +
|
||||||
|
"dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0\n" +
|
||||||
|
"aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ\n" +
|
||||||
|
"aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5\n" +
|
||||||
|
"gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw\n" +
|
||||||
|
"ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw\n" +
|
||||||
|
"CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l\n" +
|
||||||
|
"dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF\n" +
|
||||||
|
"bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl\n" +
|
||||||
|
"cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu\n" +
|
||||||
|
"dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw\n" +
|
||||||
|
"NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow\n" +
|
||||||
|
"HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA\n" +
|
||||||
|
"BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN\n" +
|
||||||
|
"Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9\n" +
|
||||||
|
"n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
18
pems/ca-2.pem
Normal file
18
pems/ca-2.pem
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Thawte Premium Server CA
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT\n" +
|
||||||
|
"DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs\n" +
|
||||||
|
"dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE\n" +
|
||||||
|
"AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl\n" +
|
||||||
|
"ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT\n" +
|
||||||
|
"AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU\n" +
|
||||||
|
"VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2\n" +
|
||||||
|
"aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ\n" +
|
||||||
|
"cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2\n" +
|
||||||
|
"aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh\n" +
|
||||||
|
"Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/\n" +
|
||||||
|
"qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm\n" +
|
||||||
|
"SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf\n" +
|
||||||
|
"8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t\n" +
|
||||||
|
"UCemDaYj+bvLpgcUQg==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
15
pems/ca-22.pem
Normal file
15
pems/ca-22.pem
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Equifax Secure Global eBusiness CA
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT\n" +
|
||||||
|
"RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp\n" +
|
||||||
|
"bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx\n" +
|
||||||
|
"HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds\n" +
|
||||||
|
"b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV\n" +
|
||||||
|
"PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN\n" +
|
||||||
|
"qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn\n" +
|
||||||
|
"hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j\n" +
|
||||||
|
"BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs\n" +
|
||||||
|
"MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN\n" +
|
||||||
|
"I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY\n" +
|
||||||
|
"NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
15
pems/ca-23.pem
Normal file
15
pems/ca-23.pem
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Equifax Secure eBusiness CA 1
|
||||||
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
|
"MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT\n" +
|
||||||
|
"RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB\n" +
|
||||||
|
"LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE\n" +
|
||||||
|
"ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz\n" +
|
||||||
|
"IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ\n" +
|
||||||
|
"1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a\n" +
|
||||||
|
"IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk\n" +
|
||||||
|
"MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW\n" +
|
||||||
|
"Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF\n" +
|
||||||
|
"AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5\n" +
|
||||||
|
"lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+\n" +
|
||||||
|
"KpYrtWKmpj29f5JZzVoqgrI3eQ==\n" +
|
||||||
|
"-----END CERTIFICATE-----\n"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user