diff --git a/.circleci/@eaDir/config.yml@SynoResource b/.circleci/@eaDir/config.yml@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/.circleci/@eaDir/config.yml@SynoResource differ
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3f711f8..c0b0ccc 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -37,5 +37,8 @@ jobs:
key: v1-dependencies-{{ checksum "composer.json" }}
# run tests!
+ - run: cp ./example.env ./.env
+ - run: composer dump-autoload -o
- run: php lh create --a
- run: ./vendor/bin/phpunit
+ - run: cat cert/logs/log
diff --git a/.gitignore b/.gitignore
index 79e6142..3d7eb39 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,13 @@
/vendor/
/deply/
/.readme
-/goundo.md.conf
-/issuer.conf
-/rootCA.key
-/rootCa.pem
-/rootCA.srl
-/server.csr
-/server.key
-/v3.ext
+/.env
+/cert/cnf/
+./cert/@eaDir
+/cert/config/
+/cert/csr/
+/cert/keys/
+/cert/logs/
+/cert/live/
+/@eaDir
+./@eaDir
diff --git a/.travis.yml b/.travis.yml
index 573b64e..1201dd6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,7 @@ addons:
php:
- 7.1
- 7.2
+ - 7.3
- nightly
env:
global:
@@ -19,9 +20,11 @@ matrix:
install:
- composer install --prefer-dist --no-suggest
-# before_script:
+before_script:
+ - cp ./example.env ./.env
# - composer self-update
# - composer install --no-interaction
script:
- - ./vendor/bin/phpunit
\ No newline at end of file
+ - ./vendor/bin/phpunit
+ - cat cert/logs/log
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
index c9f7ddc..c0cc4c5
--- a/README.md
+++ b/README.md
@@ -1,19 +1,34 @@

-* Make a self-signed Root Certificate Authority for local development.
+* Create a Certifcate Authority that can be use to issue certificate for domains.
-[](https://travis-ci.org/madeny/lhttps) [](https://circleci.com/gh/madeny/Eeasycert)
+[](https://travis-ci.org/madeny/lhttps) [](https://circleci.com/gh/madeny/lhttps)
+[](https://bettercodehub.com/)
+---
+Sometimes you need https on your local machine to test some functionality of your application, like payment system, but some of them require a valid https. Like stripe. And you can’t use localhost to request a certificate from issuer like Let’s Encrypt, so your option is to create a self signed certificate authority (CA). This tool make it easy.
-
+---
-* To use it just run : `php lh create domain.com`
-* If you wish to add your rootCA.pem to your Mac OS trusted certificate. Use the a flag `--a` right after domain.com
+Just clone this repository by run this command:
-Your `domain.com.ssl.key` and `domain.com.ssl.crt` will in `cert/live` directory
+```
+git clone git@github.com:madeny/lhttps.git`
+from terminal and do the following:
+```
+
+* ```cd lhttps ```
+* ```composer install ```
+* ```php lh create domain.com ```
+
+If you wish to add your rootCA.pem to your Mac OS trusted certificate, use the a flag ```--a``` right after domain.com like so: ```php lh create domain.com --a```
+
+Your ```domain.com.ssl.key``` and ```domain.com.ssl.crt``` will be in ```cert/live``` directory
Just update your nginx config with
-`ssl_certificate ‘path/to/‘domain.com.ssl.crt; # `
-`ssl_certificate_key ‘path/to’/domain.com.ssl.key;`
+```
+ssl_certificate path/to/domain.com.ssl.crt;
+ssl_certificate_key path/to/domain.com.ssl.key;
+```
*Right now only OSX and Ubuntu are support to create Certificate*
diff --git a/cert/cnf/openssl.cnf b/cert/cnf/openssl.cnf
deleted file mode 100644
index f0c9cc5..0000000
--- a/cert/cnf/openssl.cnf
+++ /dev/null
@@ -1,13 +0,0 @@
-[req]
-default_bits = 2048
-prompt = no
-default_md = sha256
-distinguished_name = dn
-[dn]
-C=LH
-ST=LC
-L=Local Citry
-O=LOCALHTTPS
-OU=localhttps
-emailAddress=local@https.local
-CN=com.local.https
\ No newline at end of file
diff --git a/cert/cnf/v3.ext b/cert/cnf/v3.ext
deleted file mode 100644
index 5f35f78..0000000
--- a/cert/cnf/v3.ext
+++ /dev/null
@@ -1,7 +0,0 @@
-authorityKeyIdentifier=keyid,issuer
-basicConstraints=CA:FALSE
-keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
-subjectAltName = @alt_names
-[alt_names]
-DNS.1 = localhost
-DNS.2 = www.localhost
\ No newline at end of file
diff --git a/cert/config/default.conf b/cert/config/default.conf
deleted file mode 100644
index 7759019..0000000
--- a/cert/config/default.conf
+++ /dev/null
@@ -1,81 +0,0 @@
-server {
-
- if ($host = goundo.md) {
- return 301 https://$host$request_uri;
- } # managed by EeasyCert
-
-
- if ($host = www.goundo.md) {
- return 301 https://$host$request_uri;
- } # managed by EasyCert
-
- listen 80;
- root /var/www/html/;
- index index.php index.html index.htm;
- server_name goundo.md www.goundo.md;
- charset utf-8;
-}
-server {
- # SSL configuration
- listen 443 ssl http2;
- #listen [::]:443 ssl http2;
- root /var/www/html;
- index index.php index.html index.htm;
- server_name goundo.md www.goundo.md;
-
- # for EasyCert Sertificates.
-
- ssl_certificate snippets/domain.com.ssl.crt; #
- ssl_certificate_key snippets/domain.com.ssl.key; #
-
-
-
- charset utf-8;
- gzip on;
- gzip_vary on;
- gzip_disable "msie6";
- gzip_comp_level 6;
- gzip_min_length 1100;
- gzip_buffers 16 8k;
- gzip_proxied any;
- gzip_types
- text/plain
- text/css
- text/js
- text/xml
- text/javascript
- application/javascript
- application/x-javascript
- application/json
- application/xml
- application/xml+rss;
- location / {
- try_files $uri $uri/ /index.php?$query_string;
- }
- location ~ \.php$ {
- try_files $uri /index.php =404;
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
- fastcgi_pass unix:/run/php/php7.1-fpm.sock;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|svg|woff|woff2|ttf)$ {
- expires 1M;
- access_log off;
- add_header Cache-Control "public";
- }
- location ~* \.(?:css|js)$ {
- expires 7d;
- access_log off;
- add_header Cache-Control "public";
- }
- location ~ /.well-known {
- allow all;
- }
- location ~ /\.ht {
- deny all;
- }
-
-
-}
\ No newline at end of file
diff --git a/cert/csr/.csr b/cert/csr/.csr
deleted file mode 100644
index 46ea5f7..0000000
--- a/cert/csr/.csr
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIIC0DCCAbgCAQAwgYoxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOWTERMA8GA1UE
-BwwITmV3IFlvcmsxEDAOBgNVBAoMB0BtYWRlbnkxEzARBgNVBAsMCm1hZGVueSBp
-bmMxGzAZBgkqhkiG9w0BCQEWDG1lQG1hZGVueS5tZTEXMBUGA1UEAwwOY29tLm1h
-ZGVueS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWaSA0m2br
-0SREhaDVHDIMciS+ODPdS0RnV4LoePTRLFxzo7/OH+6xDePX+wGilwLO8kNnFywL
-BNChxqLyc4K7u0povm04TKqsbYR8GCDkQ9iv9lxRCuEJ1MIquI5LaVbnd4iszUrM
-ZBaM6iYLTJQgmLhdW78dfqDvr3j3pwtMlhxepcOOW8fyiEL7peK72QOD0bdNoMeV
-/j4OzabUAmm3/0Z3ym+dFNkIjzACiWevMDXdKHjDPH6b9fZH4891SocXCNuXBP7z
-H6Wmdm218CXfdvCjtcCQiCSy5nquKh0Ecys5TrOcPmpmefv0Jp9dEQ1sfaMxVlQL
-XoM2+um4F7QzAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAsVNwmhtNREzwMwZm
-KzoSSo58iN/QUn6vKvhAFm6/XX+bV6ZR2h6m/yvHnQ193pntfEasPdLH+6gdGn67
-JipemCZEF2Pj1Qka8IubthH4KvzJbbDmmVWwv+xJHE3j+WZ6Uh7jhqYtsK/FIhcS
-ehxHpYhpscDyIlWzoU7OGXp+mJtOeID8kEuqOZZBaXtYCHsPlNta7Gvr5YxNp+Z4
-JVcNsMa5qsJQEihY5VFIgXDeG6uux5sdWBR2O04UcqaPu23Cn0L016qNw8WrOhL9
-7Dz6yKsIHgKs9Id1uJOO0fPoprkvKOkN3bmYz0K6eumkdAamfU5p8tc/W2jEn0bC
-1cXCog==
------END CERTIFICATE REQUEST-----
diff --git a/cert/csr/lhttps.md.csr b/cert/csr/lhttps.md.csr
deleted file mode 100644
index 8fdea9c..0000000
--- a/cert/csr/lhttps.md.csr
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIIC3DCCAcQCAQAwgZYxCzAJBgNVBAYTAkxIMQswCQYDVQQIDAJMQzEUMBIGA1UE
-BwwLTG9jYWwgQ2l0cnkxEzARBgNVBAoMCkxPQ0FMSFRUUFMxEzARBgNVBAsMCmxv
-Y2FsaHR0cHMxIDAeBgkqhkiG9w0BCQEWEWxvY2FsQGh0dHBzLmxvY2FsMRgwFgYD
-VQQDDA9jb20ubG9jYWwuaHR0cHMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQCzbCr50nzdYlXY6chiUZAcGlHOpadtHpljzW0QaPX64QkGApRoStQbV4+g
-SIENY8TELPgBt+mmT8aRSTI64EdvJFWPt3jSgpmYGipltKZus9omludKeE4ZmWnt
-eCvI5YKyg52ITmmG0BSZXJO97ROAA8KbqRfI59BepsHiGiYyiuuGNIwQtsGO3gQD
-1dyddRxH5LQ5HCeJtYde19pNW1naq9SsYQr6CE5yAMDuzd4Mb4LyHMXxu4oRTlPe
-TqG9ryhHzJwrc3W+MAXWV5mbH374Er8IMZTFPcPS1CDIGRpw015Mw4nRBDf0FMqc
-FjaYXZo0A0f5i1O+RZwBlH0+bVCdAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
-naCEiXcSGPkggYuY2dUrG1VlScxSxAI13P/SjroiCLhkXMq+NI41D0sBd8DaaLlC
-HZkvHQ95qzOryiG0tCg/Tr1VPbI1uFbXnDJX7iC1cxHoOH3lg7YFRZr+aE3b7WaS
-fTqYaEnhkqG9rcnJ/f42esO7S6ns9nYUTo42N/XN3MUt17ez3eB7WgMmLISb0VAx
-wq1zgo3/r6XVsiz+JtMqbhxH2bIBF1SWpYyyU9kNqd/FWrHR23dHmCMK2zmp45cS
-Jgp6oKXOb/8IYkXqKgXu6OjjsXu80TivNV/Rnr2hGiLkujbOVJF7xIA0GVXPCe+U
-jkmdI3ZMkoZD9X5T7PsPvw==
------END CERTIFICATE REQUEST-----
diff --git a/cert/csr/localhost.csr b/cert/csr/localhost.csr
deleted file mode 100644
index e488d72..0000000
--- a/cert/csr/localhost.csr
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIIC3DCCAcQCAQAwgZYxCzAJBgNVBAYTAkxIMQswCQYDVQQIDAJMQzEUMBIGA1UE
-BwwLTG9jYWwgQ2l0cnkxEzARBgNVBAoMCkxPQ0FMSFRUUFMxEzARBgNVBAsMCmxv
-Y2FsaHR0cHMxIDAeBgkqhkiG9w0BCQEWEWxvY2FsQGh0dHBzLmxvY2FsMRgwFgYD
-VQQDDA9jb20ubG9jYWwuaHR0cHMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQDEojAMCCJBeghv68WWKPvD1asMLhhu7Rr+1Tuq09CcpuVyB7uuh/vHbQ2L
-SNrv8EGUeLUgl37pcmGSQEKtxLm8HA/oyyfyVnhjS3lnupR+l89360RBTUKxxy4L
-E+s5aqY6Hd7nxfIi6fZHwpDvETeHEPp4d9lwtVcmZ9rNe4gz4MBdqr1Xe565C6TV
-IHfhXctTYPkN+tPKR73Mp3noPpJyHM7bbULtLwjxVBzUGSIxS14jjMe4Dw0mzvKJ
-/fkq4FoURaEJZkjES6LLNjYsiyfIl2EZGCohaY2Z7r5aILWSHerHB7GhzXQJiNAP
-4tLd9XqBfkS5nolvIX2Px6saqbqvAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
-JhKO/WrkMKi0ApNntrrnaQS6Z973vWqcYLsq7+jW5Ngw5lLMlbBO23mxxFXjMIo0
-48xfW5myGJ49WYeJcuupBwAdfqudNcTbzkPIH+9CEPIncRV6sU93yoE2f0JDsMrN
-quD5LRWWcJ8PSgKpwwPdTZQ8ICwZeHHOdxtNHUHEht4B8+3AyzLZUYpSiaUXR1r4
-ACadXVoWJvbF3SKz8aAZOz5RSxywDKMmqtw1E4xdt8cKntdNPXKFPjVasd90KdJb
-L1asuNTSjJlDd6pzRvhRqk7ruKGzD/p0gstGRFtSquWGK3WmKSL3LbCN9cZFTuhR
-ZkE2sgMsZ61zx6kDhVhHIg==
------END CERTIFICATE REQUEST-----
diff --git a/cert/csr/madeny.com.csr b/cert/csr/madeny.com.csr
deleted file mode 100644
index 0d89c9c..0000000
--- a/cert/csr/madeny.com.csr
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIIC3DCCAcQCAQAwgZYxCzAJBgNVBAYTAkxIMQswCQYDVQQIDAJMQzEUMBIGA1UE
-BwwLTG9jYWwgQ2l0cnkxEzARBgNVBAoMCkxPQ0FMSFRUUFMxEzARBgNVBAsMCmxv
-Y2FsaHR0cHMxIDAeBgkqhkiG9w0BCQEWEWxvY2FsQGh0dHBzLmxvY2FsMRgwFgYD
-VQQDDA9jb20ubG9jYWwuaHR0cHMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQCWryfHStlqWPXEoaFqduPGXjG+6pn1IMjj+FIG2d7aaAyxmpiul/7N07vE
-RZ3XrD7wDopItzEHdumrV2dWhn+vkN5KDxqhhDvd5plyYkl7UTJKRxD3UMUlC0I9
-odcnwjiEiWtkCzuI7LjUZji6B0fDU64bDP4c4LMj5VJZVw10D9H08PymeGD8n4ht
-wWhco6KJksLWzx9mZMmGgPZgolqnzRB46mb7izSZqzCU3bhUDMhYHU/wJCp/YXGP
-43FMiT8Yc4YnQm33A5vfPUn1YYbNQfUhJ5csMiJL8iwNAKcNE5plEmdjm7rvSXmm
-nJI32w5cOIwl2QkBIEv+Z8g8UZ1RAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
-cutDJt3r2xmXFJ1+Xv8qUS4Oj3DHux6j0N3FpC3nCiwwhZfCV0tgNofp/YH1oQkj
-NgJsBhTWfPKcgWDqW0+ZW1RjLfJ/6MWyNoY/0wmo55+OhtnZZlCHRYn71hLNvEqH
-3Jg0TvEET0UiaPiQrMvKSj7uSGs5NVeCQj08H1mEDqVlFrIXIgJygYP5isDYBEAf
-6d9Qfy8s33V220GXwFR+0bViXK7gq+9fwIVctCvWWJR+qjxKtXAG6JvpVYwpBpys
-IMz9MUatMaRq6NExkdiRRC2HA/PVC1a5803X3ddj0jZWxFez6I6iObKt1gmQ82kI
-aDoU7BT7kcpr8ggLWsbaqw==
------END CERTIFICATE REQUEST-----
diff --git a/cert/csr/process b/cert/csr/process
deleted file mode 100644
index bc9decc..0000000
--- a/cert/csr/process
+++ /dev/null
@@ -1,3 +0,0 @@
-Signature ok
-subject=C = US, ST = NY, L = New York, O = @madeny, OU = madeny inc, emailAddress = me@madeny.me, CN = com.madeny.com
-Getting CA Private Key
diff --git a/cert/csr/root.pem b/cert/csr/root.pem
deleted file mode 100644
index ded7f02..0000000
--- a/cert/csr/root.pem
+++ /dev/null
@@ -1,22 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDqjCCApICCQCz+fFELWDJfjANBgkqhkiG9w0BAQsFADCBljELMAkGA1UEBhMC
-TEgxCzAJBgNVBAgMAkxDMRQwEgYDVQQHDAtMb2NhbCBDaXRyeTETMBEGA1UECgwK
-TE9DQUxIVFRQUzETMBEGA1UECwwKbG9jYWxodHRwczEgMB4GCSqGSIb3DQEJARYR
-bG9jYWxAaHR0cHMubG9jYWwxGDAWBgNVBAMMD2NvbS5sb2NhbC5odHRwczAeFw0x
-ODAzMjEyMzAyNTVaFw0yMTAxMDgyMzAyNTVaMIGWMQswCQYDVQQGEwJMSDELMAkG
-A1UECAwCTEMxFDASBgNVBAcMC0xvY2FsIENpdHJ5MRMwEQYDVQQKDApMT0NBTEhU
-VFBTMRMwEQYDVQQLDApsb2NhbGh0dHBzMSAwHgYJKoZIhvcNAQkBFhFsb2NhbEBo
-dHRwcy5sb2NhbDEYMBYGA1UEAwwPY29tLmxvY2FsLmh0dHBzMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtHhGuahONstqs367YCNla+0/D3pTd1ty6HLR
-pWKEC/X5cw0jLuqZtP073ANrcXpqlJ247LKM//rOO9xYuuit6yVqwHCNfMx7qHsw
-epwncEE/ufbXQhHG7tO4Czme2WDA5tmapXYtPhtFUCvte/kr3/IcpVEZH3uOLBLS
-JFz5lM9lhftFiUryylv+5klV64Hs2BVOORk2eKxnvUNmV36sNjBH1wrHK5fBofdZ
-lSkPpu/tPAIy6ooPw657YTIOI8bglEgba7jTGJdBf67PwKKpX8t9XL0u8QwESriT
-SMc/S9/dt0GiXo/LgrIi48qpK4gsUgfwXeFg+9+Kv1ekEGT86QIDAQABMA0GCSqG
-SIb3DQEBCwUAA4IBAQBzOhJNjU/r9aJx75hFEhYbf1ET5IyVHYdTZrzLgWannM/e
-0JiHYv7tmfrJngsTacoPG2la9u9hmh2uKLfiS0Gj/9VNsoJec8CgPUGbx03NPYLx
-fU4huDxm/b3GqJX+m8FA4tP3efYrN+E+DpkP04aB896UEbSnWTEmskXFG/Doc+VC
-rTBcXf2KFsvLbD3Ut5YN9krDzg4n4JOWeMepPr12b312hGXBzfd2U1KPc5B4ZBMb
-TEk23+0ubIBnVoDIVbPaPrpP4FpVCrWlbubSAvQ5CDuoywwArNMLpWYFsVkExgKU
-4UnYqU8hnR9T+EGsDpTgnEe62e4ojtgmrFmmiy4t
------END CERTIFICATE-----
diff --git a/cert/csr/root.srl b/cert/csr/root.srl
deleted file mode 100644
index 1da647a..0000000
--- a/cert/csr/root.srl
+++ /dev/null
@@ -1 +0,0 @@
-AE04475D01AAD232
diff --git a/cert/keys/root.key b/cert/keys/root.key
deleted file mode 100644
index e51f99e..0000000
--- a/cert/keys/root.key
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,B33A6FAC8A4C90CE
-
-mR7CW1uxH3xpXycghYvVYKAcse48gsF7w83s9xhYp5A589eGqKSnghHV59sg7GX0
-Z7b6iU7TNB+IVKa5vCrgThzKcGFKriB/Mb01y2dK3IIzrI4NQlFYmee4Zr+xBrdn
-mH/wrMGFCTYRPE9LamL8Kkzc37MI/uHHFitDsl0Do28caolAYybxUI37w1G00D9Y
-An7EtwSPtcttmrU37SJypR2189LcJq0l62UI2iF59ML/FQTqHYup3gYTL0JwNx6Z
-2+hxpVuxkUl7IH9Viw3Kdmk4JEmLXYQl7odJqOxq4nla2xSxCsrK0S8Bhzjt9m1E
-JNWdeVVt6aUJ4f0mV/6wVYWSvMo1A7S3lrPHLzHytoDK023KohzDA81nZBLYKw8f
-HXWWtkRl/Tq9q3DzCblmTcY0NW/n/nQvt6CUCXXtvJzMhXBGOJQQ2r9AZ2ASMdRu
-yXtCidwYkGUGXUKpOFxpuXqpQK+hrJ+zDXyW8MLpoHXAI0TCEaANHg4eHaEYhB5r
-9OLG7tsJ/Ey5qnzXrMB0rZYVceUBDnY0L9D1Dk60wRIsPqwb/hp0RXpQL5WcfPr+
-s9cwUGBBk9mwlqXDB8G9hQBKEEYdWeMXBolAwanb39YYU/3RXd72wZvCIrzhqE1H
-Af7VcvK7An8EXYv/oY4saqxDR3CMkaxajwqlTL3aMEChRf1pUTUPOUQ+KfJIEbso
-3sChxFN3WaKw5zThKmTcnNQuSUIYkfD2b6A7FeoUYgpgYELlG8lkRliGM+VQALbD
-akguVkey2QRaVFJGMhCXIzCBVEuMjkI42ASal7P8vtFnZDtRRpO0SebP4eZiLNPV
-382FFQlR4WGl/1d+ApJ4YD/5TQHlzQC0wGu0ivK9VkY0l4Osw994wsrwzepZtGPa
-6nxo4Cn83mAp3FxEQrnRZB468XzeI1YfJG61w4Z33KNRGbgShJ+V4cpoRYMO1Zld
-rf6TshjEC2ZTis7GBwUtdYaiwO3x0U1HZ9YkfDGHX0lF+/YQ1p1Tkek6IUhMrXUF
-DS+sSiEgxdEpn0hhtpB6B+48s/Dz/P3JEBRfXUVAHXRHGuwqLYh2uFhLFHSJ32g4
-Xkjhe6OjEwStAHyLzh06wFoFvXaxMJEhPysF16CrDvD0SKxOOawx5AMsAp6Nt7Vu
-1rf6gQHx5ukF/IqV7HIAdjLnHtoCxitB67xkct57HnyPh6xtSCexiC4YBPa/h6G5
-Z91lo5KZ+KNd3Vf3EPc4CI768W9MaR/aZIsBDB5P4nu5EjLK+E1uRHQe7fQabQdz
-wjvdRKfC7bIDY6gB1/IpU7I8gT5pDlXlNInw9J9GWiqtelKW2KMAw88s8nknePBt
-Dh3BxS2meUmaPAna2vjbz4vlO22Y5vVM6TXeYKdKeRWuckjIMlhYk7GxiG8BYpzq
-8vfZmxlPj3UvNXI65VxZuNBMwQtEGd75QpB7/19C1kZwLnN56ltIVDH24AVEi7qc
-fINo+jEqPI3hVUuXCqOHbtLYy23ZyNjOq1ttVUhfyXvfTmL3jADVvPi7VuEo15bu
-N3+vXs2bv7VJXeSp6oOK9uKFNUR/ZRX2q00gQQXni7L0EobVAPX2WwO31TlnAF2C
------END RSA PRIVATE KEY-----
diff --git a/cert/live/.ssl.crt b/cert/live/.ssl.crt
deleted file mode 100644
index afe5d00..0000000
--- a/cert/live/.ssl.crt
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEnjCCA4agAwIBAgIJAK4ER10BqtIyMA0GCSqGSIb3DQEBCwUAMIGWMQswCQYD
-VQQGEwJMSDELMAkGA1UECAwCTEMxFDASBgNVBAcMC0xvY2FsIENpdHJ5MRMwEQYD
-VQQKDApMT0NBTEhUVFBTMRMwEQYDVQQLDApsb2NhbGh0dHBzMSAwHgYJKoZIhvcN
-AQkBFhFsb2NhbEBodHRwcy5sb2NhbDEYMBYGA1UEAwwPY29tLmxvY2FsLmh0dHBz
-MB4XDTE4MDMyMTIzMDI1NloXDTE5MDgwMzIzMDI1NlowgYoxCzAJBgNVBAYTAlVT
-MQswCQYDVQQIDAJOWTERMA8GA1UEBwwITmV3IFlvcmsxEDAOBgNVBAoMB0BtYWRl
-bnkxEzARBgNVBAsMCm1hZGVueSBpbmMxGzAZBgkqhkiG9w0BCQEWDG1lQG1hZGVu
-eS5tZTEXMBUGA1UEAwwOY29tLm1hZGVueS5jb20wggEiMA0GCSqGSIb3DQEBAQUA
-A4IBDwAwggEKAoIBAQDWaSA0m2br0SREhaDVHDIMciS+ODPdS0RnV4LoePTRLFxz
-o7/OH+6xDePX+wGilwLO8kNnFywLBNChxqLyc4K7u0povm04TKqsbYR8GCDkQ9iv
-9lxRCuEJ1MIquI5LaVbnd4iszUrMZBaM6iYLTJQgmLhdW78dfqDvr3j3pwtMlhxe
-pcOOW8fyiEL7peK72QOD0bdNoMeV/j4OzabUAmm3/0Z3ym+dFNkIjzACiWevMDXd
-KHjDPH6b9fZH4891SocXCNuXBP7zH6Wmdm218CXfdvCjtcCQiCSy5nquKh0Ecys5
-TrOcPmpmefv0Jp9dEQ1sfaMxVlQLXoM2+um4F7QzAgMBAAGjgfgwgfUwgbUGA1Ud
-IwSBrTCBqqGBnKSBmTCBljELMAkGA1UEBhMCTEgxCzAJBgNVBAgMAkxDMRQwEgYD
-VQQHDAtMb2NhbCBDaXRyeTETMBEGA1UECgwKTE9DQUxIVFRQUzETMBEGA1UECwwK
-bG9jYWxodHRwczEgMB4GCSqGSIb3DQEJARYRbG9jYWxAaHR0cHMubG9jYWwxGDAW
-BgNVBAMMD2NvbS5sb2NhbC5odHRwc4IJALP58UQtYMl+MAkGA1UdEwQCMAAwCwYD
-VR0PBAQDAgTwMCMGA1UdEQQcMBqCCWxvY2FsaG9zdIINd3d3LmxvY2FsaG9zdDAN
-BgkqhkiG9w0BAQsFAAOCAQEABAYImtfVtbu5ZavH1zleHRwIVLRpzag+nqbTgqoi
-z3n8zu30V1P9TpelbKrSIh8wmUFF+PKYup1jgXFLiBRxT2SUu57UZgin1E/4R+8k
-ke0TfrwUwNe8EpvXUgKAMtQ2HEPSpcZVKiQANoj8fb2Jp1nIYvdG2NyA00uk1TJi
-8xuTNHkfXz/E0jxKkFVucC+kseYs0mLkJ8g0HR+n/yuGl0xspOlWjtFzRSZ/jFU6
-TYdl5j02iRXsZrFKUec1q+DtLSgNDsk3OXrEX13YPDmGGXF39mErSVq6YBTwEJrS
-UKgG98nP29W0ylVMhIww5QTApy3KNBXPJ2sBfpXSEXIsyA==
------END CERTIFICATE-----
diff --git a/cert/live/lhttps.md.ssl.crt b/cert/live/lhttps.md.ssl.crt
deleted file mode 100644
index d9764a6..0000000
--- a/cert/live/lhttps.md.ssl.crt
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEqjCCA5KgAwIBAgIJAK4ER10BqtItMA0GCSqGSIb3DQEBCwUAMIGWMQswCQYD
-VQQGEwJMSDELMAkGA1UECAwCTEMxFDASBgNVBAcMC0xvY2FsIENpdHJ5MRMwEQYD
-VQQKDApMT0NBTEhUVFBTMRMwEQYDVQQLDApsb2NhbGh0dHBzMSAwHgYJKoZIhvcN
-AQkBFhFsb2NhbEBodHRwcy5sb2NhbDEYMBYGA1UEAwwPY29tLmxvY2FsLmh0dHBz
-MB4XDTE4MDMyMTIxMTkzMloXDTE5MDgwMzIxMTkzMlowgZYxCzAJBgNVBAYTAkxI
-MQswCQYDVQQIDAJMQzEUMBIGA1UEBwwLTG9jYWwgQ2l0cnkxEzARBgNVBAoMCkxP
-Q0FMSFRUUFMxEzARBgNVBAsMCmxvY2FsaHR0cHMxIDAeBgkqhkiG9w0BCQEWEWxv
-Y2FsQGh0dHBzLmxvY2FsMRgwFgYDVQQDDA9jb20ubG9jYWwuaHR0cHMwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzbCr50nzdYlXY6chiUZAcGlHOpadt
-HpljzW0QaPX64QkGApRoStQbV4+gSIENY8TELPgBt+mmT8aRSTI64EdvJFWPt3jS
-gpmYGipltKZus9omludKeE4ZmWnteCvI5YKyg52ITmmG0BSZXJO97ROAA8KbqRfI
-59BepsHiGiYyiuuGNIwQtsGO3gQD1dyddRxH5LQ5HCeJtYde19pNW1naq9SsYQr6
-CE5yAMDuzd4Mb4LyHMXxu4oRTlPeTqG9ryhHzJwrc3W+MAXWV5mbH374Er8IMZTF
-PcPS1CDIGRpw015Mw4nRBDf0FMqcFjaYXZo0A0f5i1O+RZwBlH0+bVCdAgMBAAGj
-gfgwgfUwgbUGA1UdIwSBrTCBqqGBnKSBmTCBljELMAkGA1UEBhMCTEgxCzAJBgNV
-BAgMAkxDMRQwEgYDVQQHDAtMb2NhbCBDaXRyeTETMBEGA1UECgwKTE9DQUxIVFRQ
-UzETMBEGA1UECwwKbG9jYWxodHRwczEgMB4GCSqGSIb3DQEJARYRbG9jYWxAaHR0
-cHMubG9jYWwxGDAWBgNVBAMMD2NvbS5sb2NhbC5odHRwc4IJAJuP4Kq97gpXMAkG
-A1UdEwQCMAAwCwYDVR0PBAQDAgTwMCMGA1UdEQQcMBqCCWxodHRwcy5tZIINd3d3
-LmxodHRwcy5tZDANBgkqhkiG9w0BAQsFAAOCAQEAVkjCCnvagiC1gZml1b7IGmIq
-CSzXhj4eeS1xrVUmkECXgqKnuTGpCJUNUxjo+4Wpyb6/5lu5nxL5L2iiVyNU37lJ
-lfdIw+ixrIeB+nVmZMrA425WxZ4YDZ37gY5EH/tyiLbznQ5dIakaBQi/rJy7sbTF
-ioXD3QgX8+6ieuc66QQJjmJgYfUvbaXY6wWPi2ePfJvw3naFYGg/GvlUB1SXxoFk
-Sb3dT2eUmBJ2DYKMkXYmPAZ7DB7BXajYd1S1lcGh4dPNCZqgaXsK7BVgZJAntCQi
-A8zVLkA4mqkeDIS51lLaVVGhIbPmGf6SM2nRFpNWPKzj2LnKpvLPs5QwwdY5gA==
------END CERTIFICATE-----
diff --git a/cert/live/lhttps.md.ssl.key b/cert/live/lhttps.md.ssl.key
deleted file mode 100644
index b0a340f..0000000
--- a/cert/live/lhttps.md.ssl.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCzbCr50nzdYlXY
-6chiUZAcGlHOpadtHpljzW0QaPX64QkGApRoStQbV4+gSIENY8TELPgBt+mmT8aR
-STI64EdvJFWPt3jSgpmYGipltKZus9omludKeE4ZmWnteCvI5YKyg52ITmmG0BSZ
-XJO97ROAA8KbqRfI59BepsHiGiYyiuuGNIwQtsGO3gQD1dyddRxH5LQ5HCeJtYde
-19pNW1naq9SsYQr6CE5yAMDuzd4Mb4LyHMXxu4oRTlPeTqG9ryhHzJwrc3W+MAXW
-V5mbH374Er8IMZTFPcPS1CDIGRpw015Mw4nRBDf0FMqcFjaYXZo0A0f5i1O+RZwB
-lH0+bVCdAgMBAAECggEBAJZ8yy7uVLx6lfZxXxjXwD9R8/uXBW6Ik68ZxbhV0Lqz
-tJXN5Bv1ZyHntxeAuH06iPbhoMIQN3C+yJVjBzZKlp+pofoAsN4fnCPvDlBvzIhd
-YUOsniHf9eGSwz3h5ReDKLQBoEeLPQdNz3kyJNjP1+MvRDK7CLABfstkoom51P/e
-DRfKq0mgQMIGTuBPhvUvJJVwJ7wMW9pOys+MLN9SBsIFkKVFybE6J7bcncbOUW1Z
-PRbiooPlFvMsckCC8deWGh8/oI2y2yWdNqI4UOxiYttncaGle3A0Jfma73QYp1xk
-ccYmDffSC++hOgJ4z/Ubqq7hvH2AbYSaz8xtnjmDEiECgYEA3o5gRhfuk/0f0g3F
-hoXdjAViPxJZRv8fgQhUryW/Jk68w8psxzLXhcFrJXu8FWW/SOyxxldmdsWltdzG
-l8kSmEzzOHROGkNviEsfYEQUK2WkvfYARCVO3KGXJ9Edmfv7DmvyEpjymG1vQAgO
-ojdeOjwv6Y4AEiIpEJPRF4HLTwcCgYEAzmJ2ewHbPjaKJDgqwXKo18+oguFLDkNf
-pDU+5Clw4RNiSurdunyeirAK6UP+VYG3S1h3qN98Lt2CES9MHfOIBnkItUkk8Y19
-tEdNmHAafndeoWMokqghxNBJ297pycG6U+1f/uw2Hlgy9xf8BK8vcE/+ryls4H3u
-UvyCx5ScljsCgYBaEa7ezzKry8ZEAXTOQ4Ds+QTQ18Ev3XJHizKSi6k3fKgiaNrr
-JyVYKXYOfmwZEMuAXOJ5jceXC9hLqKTqquKOpp3MXC17rY0G0LhLAmJTSdiJVHS5
-H4wx+GevIo9jUTpClOcsJaAQlkFu3ZPmjJfi45bUY7adoBuUbO4zIEFCowKBgQCT
-KXyIS5OUsfkgyHgcRnEEqcrjwFfvjLUG9vyoXrBhnZvKBd0jG7dE9zBgkp4pRHx5
-mlSAsxLuq/4R2OLyvHMzAlzmP4i7QQPwZ6N53f3WTbHJbFZC9OZXW5o+0J1twtjk
-/W8k7DPOwV9d99k5Ud2GvVPCfMxo6wLkY6+xNlPNfwKBgQCw40dVjrDKaLIMXYJC
-FWzObn+9WMv2teECTkzyIRFK1kfjpKS/F/ts3qQMWdaC7F0d6fV0ZiwgsxDSA0Np
-uf1TORHXSv67LFBxXnK4JYhamw0k7az19vKP1Fuzv2j1Z3TWhlZXD5Cz8z+3iV6n
-Tp3mReiBxQRpVXgXx2pMcXfT1g==
------END PRIVATE KEY-----
diff --git a/cert/live/localhost.ssl.key b/cert/live/localhost.ssl.key
deleted file mode 100644
index b7a108f..0000000
--- a/cert/live/localhost.ssl.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDEojAMCCJBeghv
-68WWKPvD1asMLhhu7Rr+1Tuq09CcpuVyB7uuh/vHbQ2LSNrv8EGUeLUgl37pcmGS
-QEKtxLm8HA/oyyfyVnhjS3lnupR+l89360RBTUKxxy4LE+s5aqY6Hd7nxfIi6fZH
-wpDvETeHEPp4d9lwtVcmZ9rNe4gz4MBdqr1Xe565C6TVIHfhXctTYPkN+tPKR73M
-p3noPpJyHM7bbULtLwjxVBzUGSIxS14jjMe4Dw0mzvKJ/fkq4FoURaEJZkjES6LL
-NjYsiyfIl2EZGCohaY2Z7r5aILWSHerHB7GhzXQJiNAP4tLd9XqBfkS5nolvIX2P
-x6saqbqvAgMBAAECggEAChidyPBd+eivKDf95DDkhHCjILP5MzDfcvg14RaRHon/
-O/SjsVlwFxRFXsJ14139sAbmne7JaGkkE2NTSSLRupPiSTytJ2dDNS355NaSq1FW
-KL0euw+hfglRFuaF7GPKdy9zc4kZXquOpq6ZzHyg0kGP6sGUm5HkEKfCd0yBeNBZ
-ZH2aWup2TRtsffBKubBQhPm6lc990i3uATWn6qHiPYiBYmL6MUzPzKQaT4+4VE1A
-I3aZ1Ah8R5QQYFu28xM9gFAcDUMLVz3wkgaRFy6cwS5bKCG79LVJ23NzGJ5e7Ydt
-nw0cG2dc/cIMzTW/4aYlO1AumrvF39n8Z50w6MbV4QKBgQDlaNVNbqBICHsU+oTP
-Y/jq/7kL5kM9keOG/yOq5pdEOPFf2JVSfB8QOiNXzwpLzbAs4e8BMbCNUR9fDLOf
-VdSPK0ezSmpNjnjW97/rLEgm4dpyXWH0+vNw2o+W8kMp5Zn/bZMCIdis2x/ss0ez
-mPnsJuayRWUHiJAxSFc0K9ASfwKBgQDbbM7UhTWgNo7EPlydnLwe/gzWmGG5Pajl
-2JJn5ltj36VkStx1tTov1lBE7mJ0ZmCA2tsSU1+d4WAnp+MDuo6GjPfQlIaf0dYo
-aikkS/sw/3RnvC0vkB02BmeOj7HCdQckJIbHp0CY10xRC54ohUQRGIaJe7pCjo6K
-KQoGV1Lf0QKBgGRq6gt15CUDyVSagC4Dtb6v50ElLsOxq2W5ItS5EPek8UsiE+LC
-QBqrSDM0hm49/+L1ltfv9zc0jkXd2nZhbKSqrjz10uhV9+EpG1IG1SJn9GXhKHLC
-snLwyK+rJekd/rXHMfVZ+W1YkXXb2APub1+Ge68HHz0X8v4Pi1Rj5TVjAoGATlUV
-sUCs2Dkh1mT84zdk4RuIscNMf7jHZuZdvcG6tnjMrnUbJto/n3w+w5zmgO9bXCTF
-OFGTPOWMUhvZKyeaYeZJQakENmHOtjbP4SlOzzsi7zV6XBRymSrIJVie+PCWUAzK
-INRQdz/E+tnO6GBK4F+FB+enosMJl8D21zStXUECgYA3Ykmd+TTP0AQ812B8AGSS
-TXOvxw5srjKfSkscEFCX/h1CRMNozp93M995ZBMH8FM7GdM8lkzXDZutuXiLLuHk
-G8qTx2f7WSj3J9RpkxWeMxtQ0pXKhkNj/eOm7aDFHb+SsP2iFtqwdNc5EmaeB4XR
-xSa+qzf/vOoc66HFSupCGQ==
------END PRIVATE KEY-----
diff --git a/cert/live/madeny.com.ssl.crt b/cert/live/madeny.com.ssl.crt
deleted file mode 100644
index f9ce9a0..0000000
--- a/cert/live/madeny.com.ssl.crt
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIErDCCA5SgAwIBAgIJAK4ER10BqtIxMA0GCSqGSIb3DQEBCwUAMIGWMQswCQYD
-VQQGEwJMSDELMAkGA1UECAwCTEMxFDASBgNVBAcMC0xvY2FsIENpdHJ5MRMwEQYD
-VQQKDApMT0NBTEhUVFBTMRMwEQYDVQQLDApsb2NhbGh0dHBzMSAwHgYJKoZIhvcN
-AQkBFhFsb2NhbEBodHRwcy5sb2NhbDEYMBYGA1UEAwwPY29tLmxvY2FsLmh0dHBz
-MB4XDTE4MDMyMTIzMDA1MFoXDTE5MDgwMzIzMDA1MFowgZYxCzAJBgNVBAYTAkxI
-MQswCQYDVQQIDAJMQzEUMBIGA1UEBwwLTG9jYWwgQ2l0cnkxEzARBgNVBAoMCkxP
-Q0FMSFRUUFMxEzARBgNVBAsMCmxvY2FsaHR0cHMxIDAeBgkqhkiG9w0BCQEWEWxv
-Y2FsQGh0dHBzLmxvY2FsMRgwFgYDVQQDDA9jb20ubG9jYWwuaHR0cHMwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCWryfHStlqWPXEoaFqduPGXjG+6pn1
-IMjj+FIG2d7aaAyxmpiul/7N07vERZ3XrD7wDopItzEHdumrV2dWhn+vkN5KDxqh
-hDvd5plyYkl7UTJKRxD3UMUlC0I9odcnwjiEiWtkCzuI7LjUZji6B0fDU64bDP4c
-4LMj5VJZVw10D9H08PymeGD8n4htwWhco6KJksLWzx9mZMmGgPZgolqnzRB46mb7
-izSZqzCU3bhUDMhYHU/wJCp/YXGP43FMiT8Yc4YnQm33A5vfPUn1YYbNQfUhJ5cs
-MiJL8iwNAKcNE5plEmdjm7rvSXmmnJI32w5cOIwl2QkBIEv+Z8g8UZ1RAgMBAAGj
-gfowgfcwgbUGA1UdIwSBrTCBqqGBnKSBmTCBljELMAkGA1UEBhMCTEgxCzAJBgNV
-BAgMAkxDMRQwEgYDVQQHDAtMb2NhbCBDaXRyeTETMBEGA1UECgwKTE9DQUxIVFRQ
-UzETMBEGA1UECwwKbG9jYWxodHRwczEgMB4GCSqGSIb3DQEJARYRbG9jYWxAaHR0
-cHMubG9jYWwxGDAWBgNVBAMMD2NvbS5sb2NhbC5odHRwc4IJAOWkmiYRqAgRMAkG
-A1UdEwQCMAAwCwYDVR0PBAQDAgTwMCUGA1UdEQQeMByCCm1hZGVueS5jb22CDnd3
-dy5tYWRlbnkuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQC1MlHBCKzQnc1BWRhK3yBi
-nMRdmPYnH89O3Es7dB2JJSUedWnbfTdnSoEJ40hw9ANDIwU6kAsFUpPe79gEsk+d
-aU/zW7giS4FFeXuHQ8807PiiAgnGNDI+bs5RPsRf1LOQzDebLEkk8/wv3QLr1qaJ
-MEqck5ceZMs9uuHPnZ6jt+NiQluIiVTH3njDlpgGHUFhpiU295xLhiVoPlrNATYY
-Gv87Fouao0AKmAdXn3mmnArekTUjJHLAZS7L+7hTbwj9nMgJ0ngIFOTedJugPSbh
-cqG0bpu5XJbj0APTSJMLIyBIULq44LlfhSTThG3Wi/HtclQrt/EmlWOzTXMolOfk
------END CERTIFICATE-----
diff --git a/cert/live/madeny.com.ssl.key b/cert/live/madeny.com.ssl.key
deleted file mode 100644
index cda6931..0000000
--- a/cert/live/madeny.com.ssl.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCWryfHStlqWPXE
-oaFqduPGXjG+6pn1IMjj+FIG2d7aaAyxmpiul/7N07vERZ3XrD7wDopItzEHdumr
-V2dWhn+vkN5KDxqhhDvd5plyYkl7UTJKRxD3UMUlC0I9odcnwjiEiWtkCzuI7LjU
-Zji6B0fDU64bDP4c4LMj5VJZVw10D9H08PymeGD8n4htwWhco6KJksLWzx9mZMmG
-gPZgolqnzRB46mb7izSZqzCU3bhUDMhYHU/wJCp/YXGP43FMiT8Yc4YnQm33A5vf
-PUn1YYbNQfUhJ5csMiJL8iwNAKcNE5plEmdjm7rvSXmmnJI32w5cOIwl2QkBIEv+
-Z8g8UZ1RAgMBAAECggEAEo8wTxOhA8BBRR7DSuGp3Fzts54hqFeJZsrHD6D2GeCG
-77ki5R5DfAaAMgSBFHdaqSahUaN+nnS/AyOYzsdyIqWtO2Hw3cPzu7kTXUtN0aqG
-jy+Bn3SLU6y3U/ADGBqL64chewkHJC5D9aVBh2guJpi/8QUAp33lkp5ELkzSk2DP
-D0XkDDDhPuz7Wfqh2alPYG+u1iMvzwAHyMGp7VoyNZSetJfljTfo0mx58PJjWoDL
-+Lzur9BXKjROgE26TPGD8Yg9ZA16BH5kk6pCJfVo5dzCOEUO9xQe5D9fI9xcF9Zd
-TnEzutVqODKEyHJzo5AmKN4WppQVFTxIBOyjh42QAQKBgQDIOEZU0pnrUdY76mpb
-sY/m+Z3+yaLU7VzAOEeq5WsX95IV1feA7LCxycbbhQK6QQwLelG1AhNGQiTY1gjp
-ILJmjpOEL9zeDcoxnHZs1K/xDZwknLwwYtNH1wo4b66if5BZCOFKeBA0ntk1HOo1
-UuWDXKCQIjb5oJvgj4I0rdlV4QKBgQDAqf0CFa3TzVkVfVCVyvH0l9nlGo5KZ0a+
-LjWoX24TwgcVvubn7O+hsQYxHawsGHP5M8bNhdG/n5GRurwA2wlOrIBkBMC1JRaf
-OOs2772Lv/nKxqmWGbNnw93zASx4HUrEYQ9MvpnThQ+yjoqnS9kSc2hNDjPUugkz
-UtcZo79VcQKBgQCegYaUYkG+PQR4XIUk4DZHKfg9nA2PufYCqst57LPSvojlRoXx
-h+/+X/pREUTuhM5vS7/hp6nwpi6bhx54yQzTCi6YqHeXR515lx9d2ycKk7a4eWi2
-eZZAOmp58Vh0hr6U7eXFWbWiotrcJG76Fg1i6HKoiJ2zE8YzigkPgU4coQKBgQCu
-YO0b1u1XF7R6q8qlWWN3Y32XTFrfYux3s7FjLMSf42ywNPIflqcprOUSzW2JF7TY
-KBHW8Tjv/Igv41jIWXfqGl22qUqWafQ4trbGKWVguKho7TiPH8HuuCwKBtTt/m0u
-oz7K0nS+KuATV8qNMyxM8+HCZIlrD9rF9kOz9C54MQKBgQCIUZm0WvdhHiLKhV+T
-SKPJVnHdBFAqU2uZ6YVbrUo7EjcAnez7NQktKuFxbMjNfYtVzGzpudsGMaJZiNZg
-Jy6dKXYJUlwtuEZ3ikLZpJ8by5128JwEX5mRraq6RtUWGIcC9pGN/cVvnrolcE6g
-gvbdvmHS+rLVhdG6wrGHvD6AXA==
------END PRIVATE KEY-----
diff --git a/cert/live/process b/cert/live/process
deleted file mode 100644
index 4ce40aa..0000000
--- a/cert/live/process
+++ /dev/null
@@ -1,5 +0,0 @@
-Generating a 2048 bit RSA private key
-..................................+++
-..+++
-writing new private key to '/media/psf/tmp/lhttps/cert/live/localhost.ssl.key'
------
diff --git a/cert/readme.md b/cert/readme.md
new file mode 100644
index 0000000..e69de29
diff --git a/composer.json b/composer.json
old mode 100644
new mode 100755
index 20fa598..64fd19e
--- a/composer.json
+++ b/composer.json
@@ -11,15 +11,14 @@
}
],
"autoload": {
-
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Madeny\\lhttps\\": "src/"
+ }
},
"autoload-dev": {
"psr-4": {
- "madeny\\lhttps\\Test\\": "tests"
+ "Madeny\\lhttps\\Test\\": "tests"
}
},
@@ -27,7 +26,10 @@
"phpunit/phpunit": "^7"
},
"require": {
+ "ext-dom": "*",
+ "ext-mbstring": "*",
"symfony/console": "^4.0",
"symfony/dotenv": "^4.0"
- }
+ },
+ "bin": ["lh"]
}
diff --git a/composer.lock b/composer.lock
new file mode 100755
index 0000000..de5ad2c
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,1660 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "e9aad6842ca6edf7d0c9eb7a7967c3b2",
+ "packages": [
+ {
+ "name": "symfony/console",
+ "version": "v4.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/555c8dbe0ae9e561740451eabdbed2cc554b6a51",
+ "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.4",
+ "symfony/process": "<3.3"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "~3.4|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/event-dispatcher": "~3.4|~4.0",
+ "symfony/lock": "~3.4|~4.0",
+ "symfony/process": "~3.4|~4.0"
+ },
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Console Component",
+ "homepage": "https://symfony.com/",
+ "time": "2018-02-26T15:55:47+00:00"
+ },
+ {
+ "name": "symfony/dotenv",
+ "version": "v4.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dotenv.git",
+ "reference": "afb6923923e22874dac20bd042167ccb8df1d158"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/afb6923923e22874dac20bd042167ccb8df1d158",
+ "reference": "afb6923923e22874dac20bd042167ccb8df1d158",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3"
+ },
+ "require-dev": {
+ "symfony/process": "~3.4|~4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Dotenv\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Registers environment variables from a .env file",
+ "homepage": "https://symfony.com/",
+ "keywords": [
+ "dotenv",
+ "env",
+ "environment"
+ ],
+ "time": "2018-01-03T17:15:19+00:00"
+ },
+ {
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.7.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com/",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2018-01-30T19:27:44+00:00"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1.8",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpunit/phpunit": "^6.2.3",
+ "squizlabs/php_codesniffer": "^3.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "http://ocramius.github.com/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://github.com/doctrine/instantiator",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "time": "2017-07-22T11:58:36+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.7.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.0",
+ "doctrine/common": "^2.6",
+ "phpunit/phpunit": "^4.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ },
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "time": "2017-10-19T19:58:43+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0",
+ "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "phar-io/version": "^1.0.1",
+ "php": "^5.6 || ^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "time": "2017-03-05T18:14:27+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df",
+ "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "time": "2017-03-05T17:38:23+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": [
+ "src"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org/",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "time": "2017-09-11T18:02:19+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "4.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "phpdocumentor/reflection-common": "^1.0.0",
+ "phpdocumentor/type-resolver": "^0.4.0",
+ "webmozart/assert": "^1.0"
+ },
+ "require-dev": {
+ "doctrine/instantiator": "~1.0.5",
+ "mockery/mockery": "^1.0",
+ "phpunit/phpunit": "^6.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "time": "2017-11-30T07:14:17+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "0.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5 || ^7.0",
+ "phpdocumentor/reflection-common": "^1.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^0.9.4",
+ "phpunit/phpunit": "^5.2||^4.8.24"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "time": "2017-07-14T14:27:02+00:00"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "1.7.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/dfd6be44111a7c41c2e884a336cc4f461b3b2401",
+ "reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.0.2",
+ "php": "^5.3|^7.0",
+ "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
+ "sebastian/comparator": "^1.1|^2.0",
+ "sebastian/recursion-context": "^1.0|^2.0|^3.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^2.5|^3.2",
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.7.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Prophecy\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com/"
+ },
+ {
+ "name": "Marcello Duarte",
+ "email": "marcello.duarte@gmail.com"
+ }
+ ],
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
+ "homepage": "https://github.com/phpspec/prophecy",
+ "keywords": [
+ "Double",
+ "Dummy",
+ "fake",
+ "mock",
+ "spy",
+ "stub"
+ ],
+ "time": "2018-02-19T10:16:54+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "6.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "f8ca4b604baf23dab89d87773c28cc07405189ba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f8ca4b604baf23dab89d87773c28cc07405189ba",
+ "reference": "f8ca4b604baf23dab89d87773c28cc07405189ba",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.1",
+ "phpunit/php-file-iterator": "^1.4.2",
+ "phpunit/php-text-template": "^1.2.1",
+ "phpunit/php-token-stream": "^3.0",
+ "sebastian/code-unit-reverse-lookup": "^1.0.1",
+ "sebastian/environment": "^3.0",
+ "sebastian/version": "^2.0.1",
+ "theseer/tokenizer": "^1.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "suggest": {
+ "ext-xdebug": "^2.6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "time": "2018-02-02T07:01:41+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "1.4.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "time": "2017-11-27T13:52:08+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "time": "2015-06-21T13:50:34+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f",
+ "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "time": "2018-02-01T13:07:23+00:00"
+ },
+ {
+ "name": "phpunit/php-token-stream",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+ "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace",
+ "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Wrapper around PHP's tokenizer extension.",
+ "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+ "keywords": [
+ "tokenizer"
+ ],
+ "time": "2018-02-01T13:16:43+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "7.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "536f4d853c12d8189963435088e8ff7c0daeab2e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/536f4d853c12d8189963435088e8ff7c0daeab2e",
+ "reference": "536f4d853c12d8189963435088e8ff7c0daeab2e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "myclabs/deep-copy": "^1.6.1",
+ "phar-io/manifest": "^1.0.1",
+ "phar-io/version": "^1.0",
+ "php": "^7.1",
+ "phpspec/prophecy": "^1.7",
+ "phpunit/php-code-coverage": "^6.0.1",
+ "phpunit/php-file-iterator": "^1.4.3",
+ "phpunit/php-text-template": "^1.2.1",
+ "phpunit/php-timer": "^2.0",
+ "phpunit/phpunit-mock-objects": "^6.0",
+ "sebastian/comparator": "^2.1",
+ "sebastian/diff": "^3.0",
+ "sebastian/environment": "^3.1",
+ "sebastian/exporter": "^3.1",
+ "sebastian/global-state": "^2.0",
+ "sebastian/object-enumerator": "^3.0.3",
+ "sebastian/resource-operations": "^1.0",
+ "sebastian/version": "^2.0.1"
+ },
+ "require-dev": {
+ "ext-pdo": "*"
+ },
+ "suggest": {
+ "ext-xdebug": "*",
+ "phpunit/php-invoker": "^2.0"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "time": "2018-03-26T07:36:48+00:00"
+ },
+ {
+ "name": "phpunit/phpunit-mock-objects",
+ "version": "6.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+ "reference": "e3249dedc2d99259ccae6affbc2684eac37c2e53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/e3249dedc2d99259ccae6affbc2684eac37c2e53",
+ "reference": "e3249dedc2d99259ccae6affbc2684eac37c2e53",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.0.5",
+ "php": "^7.1",
+ "phpunit/php-text-template": "^1.2.1",
+ "sebastian/exporter": "^3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0"
+ },
+ "suggest": {
+ "ext-soap": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Mock Object library for PHPUnit",
+ "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+ "keywords": [
+ "mock",
+ "xunit"
+ ],
+ "time": "2018-02-15T05:27:38+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7 || ^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "time": "2017-03-04T06:30:41+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "2.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "sebastian/diff": "^2.0 || ^3.0",
+ "sebastian/exporter": "^3.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "time": "2018-02-01T13:46:46+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/e09160918c66281713f1c324c1f4c4c3037ba1e8",
+ "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0",
+ "symfony/process": "^2 || ^3.3 || ^4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "time": "2018-02-01T13:45:15+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
+ "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "time": "2017-07-01T08:51:00+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
+ "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "sebastian/recursion-context": "^3.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "time": "2017-04-03T13:19:02+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
+ "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "time": "2017-04-27T15:39:26+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
+ "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0",
+ "sebastian/object-reflector": "^1.1.1",
+ "sebastian/recursion-context": "^3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "time": "2017-08-03T12:35:26+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "773f97c67f28de00d397be301821b06708fca0be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
+ "reference": "773f97c67f28de00d397be301821b06708fca0be",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "time": "2017-03-29T09:07:27+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
+ "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "time": "2017-03-03T06:23:57+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "time": "2015-07-28T20:34:47+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "time": "2016-10-03T07:35:21+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
+ "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "time": "2017-04-07T12:08:54+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozart/assert.git",
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.3 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6",
+ "sebastian/version": "^1.0.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "time": "2018-01-29T19:49:41+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "ext-dom": "*",
+ "ext-mbstring": "*"
+ },
+ "platform-dev": []
+}
diff --git a/.env b/example.env
old mode 100644
new mode 100755
similarity index 100%
rename from .env
rename to example.env
diff --git a/lh b/lh
index 9d010f6..83308c6 100755
--- a/lh
+++ b/lh
@@ -1,10 +1,13 @@
#! /usr/bin/env php
Local https Version 1.0>");
$app->add(new CreatorCommand);
$app->run();
diff --git a/lhttps.svg b/lhttps.svg
old mode 100644
new mode 100755
diff --git a/phpunit.xml b/phpunit.xml
old mode 100644
new mode 100755
index c4c5ca9..3c268c2
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -9,28 +9,21 @@
processIsolation="false"
stopOnFailure="false">
-
-
./tests
-
-
-
+
+
+ src/
+
+ cert/logs/report.html
+
+
+
+
+
+
diff --git a/src/@eaDir/CertificateAuthorityCreator.php@SynoResource b/src/@eaDir/CertificateAuthorityCreator.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/CertificateAuthorityCreator.php@SynoResource differ
diff --git a/src/@eaDir/CertificateKeyCreator.php@SynoResource b/src/@eaDir/CertificateKeyCreator.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/CertificateKeyCreator.php@SynoResource differ
diff --git a/src/@eaDir/Config.php@SynoResource b/src/@eaDir/Config.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/Config.php@SynoResource differ
diff --git a/src/@eaDir/CreateDomainCertificate.php@SynoResource b/src/@eaDir/CreateDomainCertificate.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/CreateDomainCertificate.php@SynoResource differ
diff --git a/src/@eaDir/DomainProvider.php@SynoResource b/src/@eaDir/DomainProvider.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/DomainProvider.php@SynoResource differ
diff --git a/src/@eaDir/Factory.php@SynoResource b/src/@eaDir/Factory.php@SynoResource
new file mode 100755
index 0000000..0145e69
Binary files /dev/null and b/src/@eaDir/Factory.php@SynoResource differ
diff --git a/src/@eaDir/Openssl.php@SynoResource b/src/@eaDir/Openssl.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/Openssl.php@SynoResource differ
diff --git a/src/@eaDir/Path.php@SynoResource b/src/@eaDir/Path.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/Path.php@SynoResource differ
diff --git a/src/@eaDir/TrustTheRootSSLCertificate.php@SynoResource b/src/@eaDir/TrustTheRootSSLCertificate.php@SynoResource
new file mode 100644
index 0000000..718eb17
Binary files /dev/null and b/src/@eaDir/TrustTheRootSSLCertificate.php@SynoResource differ
diff --git a/src/@eaDir/bash@SynoResource b/src/@eaDir/bash@SynoResource
new file mode 100644
index 0000000..d414abf
Binary files /dev/null and b/src/@eaDir/bash@SynoResource differ
diff --git a/src/CertificateAuthorityCreator.php b/src/CertificateAuthorityCreator.php
index 711be1c..ade96a5 100644
--- a/src/CertificateAuthorityCreator.php
+++ b/src/CertificateAuthorityCreator.php
@@ -2,22 +2,17 @@
namespace Madeny\lhttps;
class CertificateAuthorityCreator{
- protected $error;
+ public $errors;
- protected $output;
+ public $output;
public function __construct($path)
{
- exec("openssl req -x509 -new -nodes -passin pass:none -key {$path}/keys/root.key -sha256 -days 1024 -out {$path}/csr/root.pem -config {$path}/cnf/openssl.cnf 2>/dev/null", $output, $error);
+ exec("openssl req -x509 -new -nodes -passin pass:none -key {$path}/keys/root.key -sha256 -days 1024 -out {$path}/csr/root.pem -config {$path}/cnf/openssl.cnf 2>>{$path}/logs/log", $output, $error);
- $this->error = $error;
+ $this->errors = $error;
$this->output = $output;
}
-
- public function getError()
- {
- return $this->error;
- }
}
diff --git a/src/CertificateKeyCreator.php b/src/CertificateKeyCreator.php
index f32c039..a79a47e 100644
--- a/src/CertificateKeyCreator.php
+++ b/src/CertificateKeyCreator.php
@@ -3,24 +3,14 @@
class CertificateKeyCreator{
- protected $output;
- protected $errors;
+ public $output;
+ public $errors;
public function __construct($path)
{
exec(
- "openssl genrsa -des3 -passout pass:none -out {$path}/keys/root.key 2048 2>/dev/null", $output, $errors);
+ "openssl genrsa -des3 -passout pass:none -out {$path}/keys/root.key 2048 2>>{$path}/logs/log", $output, $errors);
$this->errors = $errors;
$this->output = $output;
}
-
- public function getError()
- {
- return $this->errors;
- }
-
- public function getOutput()
- {
- return $this->output;
- }
}
\ No newline at end of file
diff --git a/src/CertificateSigningRequest.php b/src/CertificateSigningRequest.php
index 00ac97a..dda3441 100644
--- a/src/CertificateSigningRequest.php
+++ b/src/CertificateSigningRequest.php
@@ -8,9 +8,9 @@ class CertificateSigningRequest{
function __construct($path, $domain)
{
- exec("openssl x509 -req -in {$path}/csr/{$domain}.csr -CA {$path}/csr/root.pem -CAkey {$path}/keys/root.key -CAcreateserial -out {$path}/live/{$domain}.ssl.crt -days 500 -sha256 -extfile {$path}/cnf/v3.ext -passin pass:none 2>{$path}/csr/process", $output, $error);
-
- // 2>/dev/null
+
+ exec("openssl x509 -req -in {$path}/csr/{$domain}.csr -CA {$path}/csr/root.pem -CAkey {$path}/keys/root.key -CAcreateserial -out {$path}/live/{$domain}.ssl.crt -days 500 -sha256 -extfile {$path}/cnf/v3.ext -passin pass:none 2>>{$path}/logs/log", $output, $error);
+
$this->error = $error;
$this->output = $output;
diff --git a/src/Config.php b/src/Config.php
index 253f2f6..300a74b 100644
--- a/src/Config.php
+++ b/src/Config.php
@@ -1,13 +1,40 @@
$value) {
+
+ if (file_exists(Path::all()."/".$value)) {
+ echo "Path to your certificates >> ".Path::all()."/live"."\n";
+ exec("ls ".Path::all()."/live", $outpout, $error);
+ foreach ($outpout as $value) {
+ echo $value."\n";
+ }
+ echo "----------------------- \n";
+ return;
+ }else {
+ while ($i < 6) {
+
+ mkdir(Path::all()."/".$folders[$i]);
+ $i++;
+ }
+ }
+ }
+ }
+
+ public static function file($path, $domain)
+ {
+ return new Openssl($path, $domain);
+ }
}
+
diff --git a/src/CreateDomainCertificate.php b/src/CreateDomainCertificate.php
index acba89a..e13be18 100644
--- a/src/CreateDomainCertificate.php
+++ b/src/CreateDomainCertificate.php
@@ -7,12 +7,12 @@ class CreateDomainCertificate{
protected $output;
- function __construct($path, $domainOne)
+ function __construct($path, $domain)
{
- exec("openssl req -new -sha256 -nodes -out {$path}/csr/{$domainOne}.csr -newkey rsa:2048 -keyout {$path}/live/{$domainOne}.ssl.key -config {$path}/cnf/openssl.cnf 2>{$path}/live/process", $output, $error);
+ exec("openssl req -new -sha256 -nodes -out {$path}/csr/{$domain}.csr -newkey rsa:2048 -keyout {$path}/live/{$domain}.ssl.key -config {$path}/cnf/openssl.cnf 2>>{$path}/logs/log", $output, $error);
- // $this->error = $error;
- // die(var_dump($this->error = $error));
+ $this->error = $error;
+
$this->output = $output;
}
@@ -20,5 +20,10 @@ public function getError()
{
return $this->error;
}
+
+ public function getOutput()
+ {
+ return $this->output;
+ }
}
diff --git a/src/Domain.php b/src/Domain.php
deleted file mode 100644
index 5090def..0000000
--- a/src/Domain.php
+++ /dev/null
@@ -1,31 +0,0 @@
-domainOne = trim(preg_replace('/\s\s+/', ' ', $this->domainOne));
-
- return $this->domainOne;
- }
-
- public function getDomainTwo()
- {
- $this->domainTwo = 'www.'.$this->domainOne;
-
- return $this->domainTwo;
- }
-
- public function setDomainOne($domainOne)
- {
- if (!$domainOne) {
- $this->domainOne = "localhost";
- }else{
- $this->domainOne = $domainOne;
- }
- }
-}
\ No newline at end of file
diff --git a/src/DomainProvider.php b/src/DomainProvider.php
new file mode 100644
index 0000000..f494d05
--- /dev/null
+++ b/src/DomainProvider.php
@@ -0,0 +1,20 @@
+domain = trim(preg_replace('/\s\s+/', ' ', $this->domain));
+
+ return $this->domain;
+ }
+
+ public function setdomain($domain)
+ {
+
+ !$domain ? $this->domain = "localhost" : $this->domain = $domain;
+ }
+}
\ No newline at end of file
diff --git a/src/Maker.php b/src/Factory.php
similarity index 69%
rename from src/Maker.php
rename to src/Factory.php
index 4e0904b..1cfeb8d 100644
--- a/src/Maker.php
+++ b/src/Factory.php
@@ -5,7 +5,7 @@
use Madeny\lhttps\CreateDomainCertificate;
use Madeny\lhttps\CertificateSigningRequest;
use Madeny\lhttps\TrustTheRootSSLCertificate;
-class Maker
+class Factory
{
// Generate a RSA-2048 key and save it to a file rootCA.key. This file will be used as the key to generate the Root SSL certificate. You
public static function keygen($path)
@@ -20,9 +20,9 @@ public static function create($path)
}
- public static function domain($path, $domainOne, $domainTwo)
+ public static function domain($path, $domain)
{
- return new CreateDomainCertificate($path, $domainOne, $domainTwo);
+ return new CreateDomainCertificate($path, $domain);
}
@@ -32,14 +32,9 @@ public static function request($path, $domain)
}
- public static function trust($path, $checker, $option)
+ public static function trust($path, $OS, $option)
{
- return new TrustTheRootSSLCertificate($path, $checker, $option);
- }
-
- public static function deply($file, $path)
- {
- exec("sudo cp {$file} {$path}");
+ return new TrustTheRootSSLCertificate($path, $OS, $option);
}
}
diff --git a/src/Openssl.php b/src/Openssl.php
index 2567f3a..aabb1d6 100644
--- a/src/Openssl.php
+++ b/src/Openssl.php
@@ -4,7 +4,7 @@
class Openssl
{
- public function __construct($path, $domainOne, $domainTwo)
+ public function __construct($path, $domain)
{
$v3 = [
@@ -13,8 +13,7 @@ public function __construct($path, $domainOne, $domainTwo)
'keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment',
'subjectAltName = @alt_names',
"[alt_names]",
- "DNS.1 = {$domainOne}",
- "DNS.2 = {$domainTwo}"
+ "DNS.1 = {$domain}"
];
$str = implode("\n", $v3);
diff --git a/src/Path.php b/src/Path.php
index 1d1dc14..16f1a17 100644
--- a/src/Path.php
+++ b/src/Path.php
@@ -5,10 +5,11 @@
class Path{
-
+// need refactory.
public static function all()
{
- return realpath(__DIR__.'/../cert');
+ $path = realpath(__DIR__.'/../cert');
+ return $path;
}
}
\ No newline at end of file
diff --git a/src/TrustTheRootSSLCertificate.php b/src/TrustTheRootSSLCertificate.php
index 3e2515f..81bf05f 100644
--- a/src/TrustTheRootSSLCertificate.php
+++ b/src/TrustTheRootSSLCertificate.php
@@ -10,14 +10,8 @@ class TrustTheRootSSLCertificate{
function __construct($path, $checker, $option)
{
- if (strpos($checker, "Darwin") !== false) {
- exec("sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain {$path}/csr/root.pem", $output, $error);
+ exec("sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain {$path}/csr/root.pem 2>>{$path}/logs/log", $output, $error);
$this->error = $error;
-
- }else{
- return $this->error = 2;
- }
-
}
public function getError()
diff --git a/src/bash/@eaDir/script.sh@SynoResource b/src/bash/@eaDir/script.sh@SynoResource
new file mode 100755
index 0000000..eac236d
Binary files /dev/null and b/src/bash/@eaDir/script.sh@SynoResource differ
diff --git a/src/bash/script.sh b/src/bash/script.sh
new file mode 100755
index 0000000..3321dc6
--- /dev/null
+++ b/src/bash/script.sh
@@ -0,0 +1,14 @@
+# !/usr/bin/env bash
+# Generate the private key.
+openssl genrsa -des3 -passout pass:none -out ../../cert/keys/root.key 2048 2>> ../../cert/logs/log.key;
+
+# Create root CA from private key.
+openssl req -x509 -new -nodes -passin pass:none -key ../../cert/keys/root.key -sha256 -days 1024 -out ../../cert/csr/root.pem -config ../../cert/cnf/openssl.cnf 2>> ../../cert/logs/log.CA;
+
+# Create domain certificate
+openssl req -new -sha256 -nodes -out ../../cert/csr/byrun.csr -newkey rsa:2048 -keyout ../../cert/live/byrun.ssl.key -config ../../cert/cnf/openssl.cnf 2>> ../../cert/logs/log.domain
+
+# Certificate sign request
+openssl x509 -req -in ../../cert/csr/byrun.csr -CA ../../cert/csr/root.pem -CAkey ../../cert/keys/root.key -CAcreateserial -out ../../cert/live/byrun.ssl.crt -days 500 -sha256 -extfile ../../cert/cnf/v3.ext -passin pass:none 2>>../../cert/logs/log.sign
+
+
diff --git a/src/command/@eaDir/CreatorCommand.php@SynoResource b/src/command/@eaDir/CreatorCommand.php@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/src/command/@eaDir/CreatorCommand.php@SynoResource differ
diff --git a/src/command/CreatorCommand.php b/src/command/CreatorCommand.php
index adec0c9..3cba6a6 100644
--- a/src/command/CreatorCommand.php
+++ b/src/command/CreatorCommand.php
@@ -1,5 +1,4 @@
setHelp('This command allows you to create a root certificate...');
$this
- // ...
->addOption(
'a',
null,
InputOption::VALUE_NONE,
- // InputOption::VALUE_REQUIRED,
- 'This will add your root certificate on your OS trusted list?'
+ // 'This will add your root certificate on your OS trusted list?'
+ 'Config your certificate for trust policy.'
);
@@ -39,33 +37,31 @@ protected function execute(InputInterface $input, OutputInterface $output)
{
- // All depenciers instance.
+ // Instantiating dependencies
$path = Path::all();
- $domain = new Domain();
+ (new Config);
- $domainName = $input->getArgument('domainName');
-
- $domain->setDomainOne($domainName);
+ $domain = new DomainProvider();
- // die(var_dump($domain->getDomainTwo()));
+ $domainName = $input->getArgument('domainName');
- Config::file($path, $domain->getDomainOne(), $domain->getDomainTwo());
+ $domain->setdomain($domainName);
-
+ Config::file($path, $domain->getdomain());
// generate a root certificate key.
- Maker::keygen($path);
+ Factory::keygen($path);
// Create a root certificate authority.
- Maker::create($path);
+ Factory::create($path);
// Create cert key for a domain.
- Maker::domain($path, $domain->getDomainOne(), $domain->getDomainTwo());
+ Factory::domain($path, $domain->getdomain());
// Request a certificate sign from root certificate authority.
- Maker::request($path, $domainName);
+ Factory::request($path, $domainName);
$checker = exec("uname -a");
@@ -74,29 +70,17 @@ protected function execute(InputInterface $input, OutputInterface $output)
if (!$option == true) {
exit();
}else{
- $trust = Maker::trust($path, $checker, $option);
+ $trust = Factory::trust($path, $checker, $option);
}
// Disply error messages.
if ( $trust->getError() == 2) {
- $output->writeln('Sorry this host not support!');
+ $output->writeln('Sorry this host is not support!');
}elseif ($trust->getError() == 1) {
- $output->writeln('Fail to add your certificate to trust list you can do it manually');
+ $output->writeln('Fail to config your certificate for trust policy. see help for more information');
}elseif ($trust->getError() == 0) {
- $output->writeln('Your certificate is added to your trust list');
+ $output->writeln('Your certificate is configured');
}
- // $trust->getError();
-
-
-
-
-
-
-
-
- // $output->writeln('Your certificate are now trusted');
-
- // $output->writeln('Sorry this command can only be run on OSX 10.13 or Greater!');
}
-}
\ No newline at end of file
+}
diff --git a/tests/@eaDir/CertificateAuthorityCreatorTest.php@SynoResource b/tests/@eaDir/CertificateAuthorityCreatorTest.php@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/tests/@eaDir/CertificateAuthorityCreatorTest.php@SynoResource differ
diff --git a/tests/@eaDir/CertificateKeyCreatorTest.php@SynoResource b/tests/@eaDir/CertificateKeyCreatorTest.php@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/tests/@eaDir/CertificateKeyCreatorTest.php@SynoResource differ
diff --git a/tests/@eaDir/CreateDomainCertificateTest.php@SynoResource b/tests/@eaDir/CreateDomainCertificateTest.php@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/tests/@eaDir/CreateDomainCertificateTest.php@SynoResource differ
diff --git a/tests/@eaDir/CustomTestCase.php@SynoResource b/tests/@eaDir/CustomTestCase.php@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/tests/@eaDir/CustomTestCase.php@SynoResource differ
diff --git a/tests/@eaDir/FactoryTest.php@SynoResource b/tests/@eaDir/FactoryTest.php@SynoResource
new file mode 100755
index 0000000..718eb17
Binary files /dev/null and b/tests/@eaDir/FactoryTest.php@SynoResource differ
diff --git a/tests/CertificateAuthorityCreatorTest.php b/tests/CertificateAuthorityCreatorTest.php
new file mode 100644
index 0000000..795eb07
--- /dev/null
+++ b/tests/CertificateAuthorityCreatorTest.php
@@ -0,0 +1,34 @@
+path));
+ $certificateAuthority = new CertificateAuthorityCreator($this->path);
+
+
+ $this->assertEquals(0, $certificateAuthority->errors);
+ }
+
+ /** @test */
+ public function it_can_return_an_error()
+ {
+ $certificateAuthority = new CertificateAuthorityCreator("fake/path");
+
+ $this->assertEquals(2, $certificateAuthority->errors);
+ }
+
+ /** @test */
+ public function it_can_return_array_of_output()
+ {
+ $certificateAuthority = new CertificateAuthorityCreator($this->path);
+
+ $this->assertEquals(0, count($certificateAuthority->output));
+ }
+
+}
\ No newline at end of file
diff --git a/tests/CertificateKeyCreatorTest.php b/tests/CertificateKeyCreatorTest.php
new file mode 100644
index 0000000..3fec0cc
--- /dev/null
+++ b/tests/CertificateKeyCreatorTest.php
@@ -0,0 +1,33 @@
+path);
+
+ $this->assertEquals(0, $rsa->errors);
+ }
+
+ /** @test */
+ public function it_can_generate_an_error()
+ {
+ $rsa = new CertificateKeyCreator("fake/path");
+
+ $this->assertEquals(2, $rsa->errors);
+ }
+
+ /** @test */
+ public function it_can_ouput_logs()
+ {
+ $rsa = new CertificateKeyCreator($this->path);
+
+ $output = count($rsa->output);
+
+ $this->assertEquals(0, $output);
+ }
+
+}
\ No newline at end of file
diff --git a/tests/CreateDomainCertificateTest.php b/tests/CreateDomainCertificateTest.php
new file mode 100644
index 0000000..2e6b2cb
--- /dev/null
+++ b/tests/CreateDomainCertificateTest.php
@@ -0,0 +1,31 @@
+path, $this->domain->getdomain());
+
+ $this->assertEquals(0, $domainCertificate->getError());
+ }
+
+ /** @test */
+ public function it_can_report_an_error()
+ {
+ $domainCertificate = new CreateDomainCertificate("fake/path", "fake_domain");
+
+ $this->assertEquals(2, $domainCertificate->getError());
+ }
+ /** @test */
+ public function it_can_return_array_of_output()
+ {
+ $domainCertificate = new CreateDomainCertificate($this->path, $this->domain->getdomain());
+
+ $this->assertEquals(0, count($domainCertificate->getOutput()));
+ }
+}
\ No newline at end of file
diff --git a/tests/CreateTest.php b/tests/CreateTest.php
new file mode 100644
index 0000000..adf80a6
--- /dev/null
+++ b/tests/CreateTest.php
@@ -0,0 +1,17 @@
+assertEquals(0, $error);
+
+ }
+
+}
diff --git a/tests/CreateTest.php.save b/tests/CreateTest.php.save
new file mode 100644
index 0000000..be08e28
--- /dev/null
+++ b/tests/CreateTest.php.save
@@ -0,0 +1,20 @@
+assertEquals(1, $error());
+
+
+ }
+}
diff --git a/tests/CustomTestCase.php b/tests/CustomTestCase.php
new file mode 100644
index 0000000..ee3d4f8
--- /dev/null
+++ b/tests/CustomTestCase.php
@@ -0,0 +1,33 @@
+path = Path::all();
+
+ $this->domain = new DomainProvider;
+
+ $this->domain->setdomain('example.com');
+
+ Config::file($this->path, $this->domain->getdomain());
+ $this->factory = new Factory();
+ }
+
+ public function tearDown()
+ {
+ unset($this->path, $this->domain);
+ }
+}
\ No newline at end of file
diff --git a/tests/FactoryTest.php b/tests/FactoryTest.php
new file mode 100644
index 0000000..2f8aa4f
--- /dev/null
+++ b/tests/FactoryTest.php
@@ -0,0 +1,104 @@
+path.'/keys/root.key');
+
+ if ($rootkey) {
+ echo "\n You already have a Root Key I'm using that! \n";
+ }else{
+ $keygen = Factory::keygen($this->path);
+
+ if ($keygen->getError() == 0) {
+ echo "\n Key created with success \n";
+ }else{
+ echo "Something not right";
+ }
+
+ $rootkey = true;
+ }
+
+ $this->assertEquals($rootkey, true);
+ $this->assertEquals($this->factory->keygen($this->path)->errors, 0);
+ }
+
+ /** @test */
+ public function a_user_can_create_root_certificate_authority()
+ {
+
+ if (file_exists($this->path.'/csr/root.pem')) {
+ echo "\n You already have a Root Certificate we can use that! \n";
+ }else{
+ $ca = Factory::create($this->path);
+
+ if ($ca->getError() == 0) {
+ echo "\n Certificate create success \n";
+ }else{
+ echo "\n Sorry something is wrong \n";
+ }
+ }
+
+ $rootCA = file_exists($this->path.'/csr/root.pem');
+
+ $this->assertEquals($rootCA, true);
+ $this->assertEquals($this->factory->create($this->path)->errors, 0);
+ }
+
+ /** @test */
+ public function a_user_can_create_certificate_key_for_domain()
+ {
+ $domainkey = file_exists($this->path.'/live/'.$this->domain->getdomain().'.ssl.key');
+ $domaincsr = file_exists($this->path.'/csr/'.$this->domain->getdomain().'.csr');
+
+ if ($domainkey && $domaincsr) {
+ echo "\n You already have a key for this domain we can sign this \n";
+
+ }else{
+ Factory::domain($this->path, $this->domain->getdomain());
+
+ $domainkey = true;
+ $domaincsr = true;
+ }
+
+ $this->assertEquals($domainkey, true);
+ $this->assertEquals($domaincsr, true);
+
+ $this->assertEquals($this->factory->domain($this->path, $this->domain->getdomain() )->getError(), 0);
+
+ }
+
+
+ /** @test */
+ public function a_user_can_sign_a_domain_cert_with_root_certificate_authority()
+ {
+ $request = Factory::request($this->path, $this->domain->getdomain());
+
+ $log = file_get_contents(realpath($this->path.'/logs/log'));
+
+ if (strpos($log, "values mismatch") == true){
+
+ echo "\n Please delete your your CA and CAkey and make new one \n";
+
+ $request->setError(0);
+ }
+
+ $this->assertEquals($request->getError(), 0);
+ $this->assertEquals($this->factory->request($this->path, $this->domain->getdomain())->getError(), 0);
+ }
+
+ /** @test */
+ public function a_user_can_Trust_the_root_SSL_certificate()
+ {
+ $os = exec("uname -a");
+
+ $trusted = Factory::trust($this->path, $os, $option = null);
+
+ $this->assertEquals($trusted->getError(), 1);
+ }
+
+}
\ No newline at end of file
diff --git a/tests/MakerTest.php b/tests/MakerTest.php
deleted file mode 100644
index 988dbb0..0000000
--- a/tests/MakerTest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-path = Path::all();
-
- $this->domain = new domain;
- $this->domain->setDomainOne('madeny.com');
- }
-
- /** @test */
- public function a_user_can_generate_root_certificate_key()
- {
- $rootkey = file_exists($this->path.'/keys/root.key');
-
- if ($rootkey) {
- echo "\n You already have a Root Key I'm using that! \n";
- }else{
- $keygen = Maker::keygen($this->path);
-
- if ($keygen->getError() == 0) {
- echo "\n Key created with success \n";
- }else{
- echo "Something not right";
- }
-
- $rootkey = true;
- }
-
- $this->assertEquals($rootkey, true);
- }
-
- /** @test */
- public function a_user_can_create_root_certificate_authority()
- {
-
- if (file_exists($this->path.'/csr/root.pem')) {
- echo "\n You already have a Root Certificate we can use that!";
- }else{
- $ca = Maker::create($this->path);
-
- if ($ca->getError() == 0) {
- echo "\n Certificate create success \n";
- }else{
- echo "\n Sorry something is wrong \n";
- }
- }
-
- $rootCA = file_exists($this->path.'/csr/root.pem');
-
- $this->assertEquals($rootCA, true);
- }
-
- /** @test */
- public function a_user_can_create_certificate_key_for_domain()
- {
- $domainkey = file_exists($this->path.'/live/'.$this->domain->getDomainOne().'.ssl.key');
- $domaincsr = file_exists($this->path.'/csr/'.$this->domain->getDomainOne().'.csr');
-
- if ($domainkey) {
- echo "\n You already have a key for this domain we can sign this \n";
- }else{
- Maker::domain($this->path, $this->domain->getDomainOne(), $this->domain->getDomainTwo());
-
- $domainkey = true;
- $domaincsr = true;
- }
-
- $this->assertEquals($domainkey, true);
- $this->assertEquals($domaincsr, true);
- }
-
-
- /** @test */
- public function a_user_can_sign_a_domain_cert_with_root_certificate_authority()
- {
- $request = Maker::request($this->path, $this->domain->getDomainOne());
-
- $process = file_get_contents(realpath($this->path.'/csr/process'));
-
- // die(var_dump(exec("cat {$process}")));
- if (strpos($process, "values mismatch") == true){
-
- echo "\n Please delete your your CA and CAkey and make new one \n";
-
- $request->setError(0);
- }
-
- $this->assertEquals($request->getError(), 0);
-
-
- }
-
- /** @test */
- public function a_user_can_Trust_the_root_SSL_certificate()
- {
- $os = exec("uname -a");
-
- $trusted = Maker::trust($this->path, $os, $option = null);
-
- $this->assertEquals($trusted->getError(), 2);
- }
-
-
-
-}
\ No newline at end of file
diff --git a/tests/TrustTheRootSSLCertificateTest.php b/tests/TrustTheRootSSLCertificateTest.php
new file mode 100644
index 0000000..b952400
--- /dev/null
+++ b/tests/TrustTheRootSSLCertificateTest.php
@@ -0,0 +1,18 @@
+path, $cheker, $option);
+
+ $this->assertEquals(1, $trusted->getError());
+ }
+}
\ No newline at end of file