Compare commits
	
		
			No commits in common. "master" and "v1.0.5" 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) |  | ||||||
							
								
								
									
										492
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										492
									
								
								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,229 +9,43 @@ 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(); | var https = require('https') | ||||||
| 
 |   , cas | ||||||
| rootCas |  | ||||||
|   .addFile(__dirname + '/ssl/01-cheap-ssl-intermediary-a.pem') |  | ||||||
|   .addFile(__dirname + '/ssl/02-cheap-ssl-intermediary-b.pem') |  | ||||||
|   ; |   ; | ||||||
|  |    | ||||||
|  | // This will add the well-known CAs | ||||||
|  | // to `https.globalAgent.options.ca` | ||||||
|  | require('ssl-root-cas').inject(); | ||||||
| 
 | 
 | ||||||
| // will work with all https requests will all libraries (i.e. request.js) | cas = https.globalAgent.options.ca; | ||||||
| require('https').globalAgent.options.ca = rootCas; | 
 | ||||||
|  | cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '01-cheap-ssl-intermediary-a.pem'))); | ||||||
|  | cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '02-cheap-ssl-intermediary-b.pem'))); | ||||||
|  | cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '03-cheap-ssl-site.pem'))); | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ### 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. |  | ||||||
| 
 | 
 | ||||||
| If you want the latest certificates (downloaded as part of the postinstall process), | If you want the latest certificates (downloaded as part of the postinstall process),  | ||||||
| you can require those like so: | you can require those instead 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: | BAD IDEAS | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| var rootCas = require('ssl-root-cas').create(); |  | ||||||
| 
 |  | ||||||
| require('https').globalAgent.options.ca = rootCas; |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| API |  | ||||||
| --- |  | ||||||
| 
 |  | ||||||
| ### addFile(filepath) |  | ||||||
| 
 |  | ||||||
| This is just a convenience method so that you don't |  | ||||||
| have to require `fs` and `path` if you don't need them. |  | ||||||
| 
 |  | ||||||
| ```javascript |  | ||||||
| require('ssl-root-cas/latest') |  | ||||||
|   .addFile(__dirname + '/ssl/03-cheap-ssl-site.pem') |  | ||||||
|   ; |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| is the same as |  | ||||||
| 
 |  | ||||||
| ```javascript |  | ||||||
| var https = require('https'); |  | ||||||
| var cas; |  | ||||||
| 
 |  | ||||||
| cas = https.globalAgent.options.ca || []; |  | ||||||
| cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '03-cheap-ssl-site.pem'))); |  | ||||||
| https.globalAgent.options.ca = cas; |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ### rootCas |  | ||||||
| 
 |  | ||||||
| If for some reason you just want to look at the array of Root CAs without actually injecting |  | ||||||
| them, or you just prefer to |  | ||||||
| `https.globalAgent.options.ca = require('ssl-root-cas').rootCas;` |  | ||||||
| yourself, well, you can. |  | ||||||
| 
 |  | ||||||
| ### inject() |  | ||||||
| 
 |  | ||||||
| (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 +64,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,42 @@ 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.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" | ||||||
|  |       + "};\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.0.5", | ||||||
|   "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