Ajout : sauvegardes automatiques des bases postgresql.
authorJulien Moutinho <julm+heureux-cyclage@autogeree.net>
Mon, 22 Apr 2013 23:25:18 +0000 (01:25 +0200)
committerJulien Moutinho <julm+heureux-cyclage@autogeree.net>
Sat, 27 Apr 2013 11:47:56 +0000 (13:47 +0200)
NOTE: tsocks est verminé (besoin d'une rustine pour fonctionner avec psql)
NOTE: et n'est pas bien maintenu.
VOIR: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576301#15

61 files changed:
etc/cron.d/postgresql-backup [new file with mode: 0644]
etc/dante/remote.conf [new file with mode: 0644]
etc/openssl/git.heureux-cyclage.org/user.cfg
etc/openssl/imap.heureux-cyclage.org/user.cfg
etc/openssl/postgresql.heureux-cyclage.org/ca [new symlink]
etc/openssl/postgresql.heureux-cyclage.org/host.cfg [new file with mode: 0644]
etc/openssl/postgresql.heureux-cyclage.org/user.cfg [new file with mode: 0644]
etc/openssl/questionnaires.heureux-cyclage.org/user.cfg
etc/openssl/smtp.heureux-cyclage.org/user.cfg
etc/openssl/smtpd.heureux-cyclage.org/user.cfg
etc/openssl/stats.heureux-cyclage.org/user.cfg
etc/openssl/sympa.heureux-cyclage.org/user.cfg
etc/openssl/www.heureux-cyclage.org/user.cfg
etc/postgresql/9.1/main/postgresql.conf
etc/remote.sh
etc/ssh/remote.conf
etc/sv/cyclo_paris_est__openerp/local.sh
etc/sv/dovecot/remote.sh
etc/sv/mysql/local.sh
etc/sv/postgres/local.sh
etc/sv/postgres/remote.sh [new file with mode: 0644]
etc/sv/postgres/run
etc/sv/sympa/local.sh
etc/tsocks/ateliers.heureux-cyclage.org.conf [deleted file]
etc/tsocks/i.wiklou.org.conf [deleted file]
lib/tool/openssl
local/backup-status [new file with mode: 0755]
local/backup/mysql-backup
local/backup/mysql-snapshot
local/backup/postgresql-backup [new file with mode: 0755]
local/backup/postgresql-snapshot [new file with mode: 0755]
local/duplicity-configure
local/mysql-backup-status [deleted file]
local/network-configure
remote/git-configure
remote/iodine-socksify [new file with mode: 0755]
remote/iodine-tsocks [deleted file]
remote/psql [new file with mode: 0755]
remote/socksify [new file with mode: 0755]
remote/tsocks [deleted file]
var/pub/x509/postgresql.heureux-cyclage.org/ca [new symlink]
var/pub/x509/postgresql.heureux-cyclage.org/crl.num [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crl.num.old [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crl.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.num [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.num.old [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt+ca.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt+crl.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt+crl.self-signed.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt.pem.asc [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt.self-signed.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/crt.self-signed.pem.asc [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/idx.self-signed.txt [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/idx.txt [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/req.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/crt.ca-signed.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/crt.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/req.pem [new file with mode: 0644]
var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/req.pem.asc [new file with mode: 0644]

diff --git a/etc/cron.d/postgresql-backup b/etc/cron.d/postgresql-backup
new file mode 100644 (file)
index 0000000..a921fb8
--- /dev/null
@@ -0,0 +1,3 @@
+MAILTO=backup
+# m h dom mon dow user command
+15 3 * * * backup bin/postgresql-backup '\%' -- --full-if-older-than 90D && bin/duplicity-remove postgresql -maxdepth 1 -- remove-all-but-n-full 1 --force
diff --git a/etc/dante/remote.conf b/etc/dante/remote.conf
new file mode 100644 (file)
index 0000000..983af50
--- /dev/null
@@ -0,0 +1,15 @@
+#debug: 1
+#logoutput: /dev/stderr
+resolveprotocol: udp
+route {
+       from: 0.0.0.0/0 to: 0.0.0.0/0 via: 127.0.0.1 port = 2242
+       method: none
+       protocol: tcp udp
+       proxyprotocol: socks_v4 socks_v5
+ }
+route {
+       from: 0.0.0.0/0 to: . via: 127.0.0.1 port = 2242
+       method: none
+       protocol: tcp udp
+       proxyprotocol: socks_v4 socks_v5
+ }
index d71f59b..21e44ef 100644 (file)
@@ -6,9 +6,9 @@
        distinguished_name = user_distinguished_name
        string_mask        = pkix
 [ user_distinguished_name ]
-       countryName            = $ENV::COUNTRY
-       stateOrProvinceName    = $ENV::STATE_OR_PROVINCE
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
        #localityName           =
-       0.organizationName     = $ENV::ORGANIZATION
+       0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service Git
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
index 136d66d..c64ee34 100644 (file)
@@ -11,6 +11,6 @@
        localityName           = néant
        0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service IMAP
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
 #[ user_extensions ]
-#      subjectAltName         = email:$ENV::USER@$ENV::HOST
+#      subjectAltName         = email:$ENV::user@$ENV::HOST
diff --git a/etc/openssl/postgresql.heureux-cyclage.org/ca b/etc/openssl/postgresql.heureux-cyclage.org/ca
new file mode 120000 (symlink)
index 0000000..6d4a070
--- /dev/null
@@ -0,0 +1 @@
+../heureux-cyclage.org
\ No newline at end of file
diff --git a/etc/openssl/postgresql.heureux-cyclage.org/host.cfg b/etc/openssl/postgresql.heureux-cyclage.org/host.cfg
new file mode 100644 (file)
index 0000000..ff1e446
--- /dev/null
@@ -0,0 +1,70 @@
+       SERVICE     = postgresql
+       RANDFILE    = var/sec/x509/openssl.rand
+       oid_section = extra_oids
+[ extra_oids ]
+       # NOTE: pour une éventuelle validation étendue (Extended Validation (EV))
+       jurisdictionOfIncorporationLocalityName        = 1.3.6.1.4.1.311.60.2.1.1
+       jurisdictionOfIncorporationStateOrProvinceName = 1.3.6.1.4.1.311.60.2.1.2
+       jurisdictionOfIncorporationCountryName         = 1.3.6.1.4.1.311.60.2.1.3
+[ req ]
+       prompt             = no
+       distinguished_name = distinguished_name
+       string_mask        = pkix
+       #x509_extensions    = root_extensions
+       #req_extensions     = extension
+       #attributes         = req_attributes
+[ distinguished_name ]
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
+       localityName           = $ENV::x509_state_or_province
+       0.organizationName     = $ENV::x509_organization
+       organizationalUnitName = Service PostgreSQL
+       commonName             = $SERVICE.$ENV::x509_host
+       businessCategory                               = $ENV::x509_business_category
+       jurisdictionOfIncorporationLocalityName        = $ENV::x509_state_or_province
+       jurisdictionOfIncorporationStateOrProvinceName = $ENV::x509_state_or_province
+       jurisdictionOfIncorporationCountryName         = $ENV::x509_country
+[ extensions ]
+       basicConstraints       = critical,CA:TRUE,pathlen:0
+       keyUsage               = keyCertSign,cRLSign,digitalSignature,keyEncipherment
+       subjectAltName         = email:contact+$SERVICE@$ENV::x509_host
+       subjectKeyIdentifier   = hash
+       issuerAltName          = issuer:copy
+       authorityKeyIdentifier = keyid:always,issuer:always
+       authorityInfoAccess    = caIssuers;URI:http://www.$ENV::x509_host/x509/crt.pem
+       crlDistributionPoints  = URI:http://www.$ENV::x509_host/x509/$SERVICE/crl.pem
+       certificatePolicies    = @certificate_policies
+[ self_signed_extensions ]
+       basicConstraints       = critical,CA:TRUE,pathlen:0
+       keyUsage               = keyCertSign,cRLSign,digitalSignature,keyEncipherment
+       subjectAltName         = email:contact+$SERVICE@$ENV::x509_host
+       subjectKeyIdentifier   = hash
+       issuerAltName          = issuer:copy
+       authorityKeyIdentifier = keyid:always,issuer:always
+       authorityInfoAccess    = caIssuers;URI:http://www.$ENV::x509_host/x509/$SERVICE/crt.pem
+       crlDistributionPoints  = URI:http://www.$ENV::x509_host/x509/$SERVICE/crl.pem
+[ user_extensions ]
+       basicConstraints       = critical,CA:FALSE,pathlen:0
+       keyUsage               = digitalSignature,keyEncipherment
+       subjectAltName         = email:$ENV::user@$ENV::x509_host
+       subjectKeyIdentifier   = hash
+       issuerAltName          = issuer:copy
+       authorityKeyIdentifier = keyid:always,issuer:always
+       authorityInfoAccess    = caIssuers;URI:http://www.$ENV::x509_host/x509/$SERVICE/crt.pem
+[ certificate_policies ]
+       policyIdentifier = 1.2.250.1.42
+       CPS.1            = https://www.$ENV::x509_host/x509/cps
+[ ca ]
+       private_key      = var/sec/x509/$ENV::x509/key.pem
+       dir              = var/pub/x509/$ENV::x509
+       crl_dir          = $dir
+       crlnumber        = $dir/crl.num
+       crl              = $dir/crl.pem
+       database         = $dir/idx.txt
+[ self_signed_ca ]
+       private_key      = var/sec/x509/$ENV::x509/key.pem
+       dir              = var/pub/x509/$ENV::x509
+       crl_dir          = $dir
+       crlnumber        = $dir/crl.self-signed.num
+       crl              = $dir/crl.self-signed.pem
+       database         = $dir/idx.self-signed.txt
diff --git a/etc/openssl/postgresql.heureux-cyclage.org/user.cfg b/etc/openssl/postgresql.heureux-cyclage.org/user.cfg
new file mode 100644 (file)
index 0000000..a6d2985
--- /dev/null
@@ -0,0 +1,14 @@
+       SERVICE  = postgresql
+       HOME     = .
+       RANDFILE = var/sec/x509/openssl.rand
+[ req ]
+       prompt             = no
+       distinguished_name = user_distinguished_name
+       string_mask        = pkix
+[ user_distinguished_name ]
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
+       #localityName           =
+       0.organizationName     = $ENV::x509_organization
+       organizationalUnitName = Certificat utilisateurice du service PostgreSQL
+       commonName             = $ENV::user
index e500a52..a8057a5 100644 (file)
@@ -6,9 +6,9 @@
        distinguished_name = user_distinguished_name
        string_mask        = pkix
 [ user_distinguished_name ]
-       countryName            = $ENV::COUNTRY
-       stateOrProvinceName    = $ENV::STATE_OR_PROVINCE
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
        #localityName           =
-       0.organizationName     = $ENV::ORGANIZATION
+       0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service de statistiques
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
index 5d36192..b32265f 100644 (file)
@@ -11,6 +11,6 @@
        localityName           = néant
        0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service SMTP
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
 [ user_extensions ]
-       subjectAltName         = email:$ENV::USER@$ENV::HOST
+       subjectAltName         = email:$ENV::user@$ENV::HOST
index 3a81fec..7bbbee0 100644 (file)
@@ -11,6 +11,6 @@
        localityName           = néant
        0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service SMTP
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
 [ user_extensions ]
-       subjectAltName         = email:$ENV::USER@$ENV::HOST
+       subjectAltName         = email:$ENV::user@$ENV::HOST
index 5675215..bdb56cb 100644 (file)
@@ -6,9 +6,9 @@
        distinguished_name = user_distinguished_name
        string_mask        = pkix
 [ user_distinguished_name ]
-       countryName            = $ENV::COUNTRY
-       stateOrProvinceName    = $ENV::STATE_OR_PROVINCE
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
        #localityName           =
-       0.organizationName     = $ENV::ORGANIZATION
+       0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service de statistiques
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
index 202e53e..5f14bc5 100644 (file)
@@ -6,9 +6,9 @@
        distinguished_name = user_distinguished_name
        string_mask        = pkix
 [ user_distinguished_name ]
-       countryName            = $ENV::COUNTRY
-       stateOrProvinceName    = $ENV::STATE_OR_PROVINCE
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
        #localityName           =
-       0.organizationName     = $ENV::ORGANIZATION
+       0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du SYsteme de Multi-Postage Automatique
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
index 6da31de..eb801a1 100644 (file)
@@ -6,9 +6,9 @@
        distinguished_name = user_distinguished_name
        string_mask        = pkix
 [ user_distinguished_name ]
-       countryName            = $ENV::COUNTRY
-       stateOrProvinceName    = $ENV::STATE_OR_PROVINCE
+       countryName            = $ENV::x509_country
+       stateOrProvinceName    = $ENV::x509_state_or_province
        #localityName           =
-       0.organizationName     = $ENV::ORGANIZATION
+       0.organizationName     = $ENV::x509_organization
        organizationalUnitName = Certificat utilisateurice du service Web
-       commonName             = $ENV::USER
+       commonName             = $ENV::user
index 8af2f1c..546a9e7 100644 (file)
@@ -89,7 +89,7 @@ lc_messages = 'fr_FR.utf8' # locale for system error message
 lc_monetary = 'fr_FR.utf8' # locale for monetary formatting
 lc_numeric = 'fr_FR.utf8' # locale for number formatting
 lc_time = 'fr_FR.utf8' # locale for time formatting
-#listen_addresses = 'localhost' # what IP address(es) to listen on;
+listen_addresses = '127.0.0.1' # what IP address(es) to listen on;
 #lo_compat_privileges = off
 #local_preload_libraries = ''
 #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and
@@ -142,9 +142,9 @@ shared_buffers = 128MB # min 128kB
 #shared_preload_libraries = '' # (change requires restart)
 #silent_mode = off # Run server silently.
 #sql_inheritance = on
-ssl = off # (change requires restart)
-#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
-#ssl_renegotiation_limit = 512MB # amount of data between renegotiations
+ssl = on # (change requires restart)
+ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
+ssl_renegotiation_limit = 512MB # amount of data between renegotiations
 #standard_conforming_strings = on
 #statement_timeout = 0 # in milliseconds, 0 is disabled
 #stats_temp_directory = 'pg_stat_tmp'
index 2dc554e..c4d10f9 100644 (file)
@@ -1,4 +1 @@
 . "$tool"/etc/local.sh
-
-readonly remote_tsocks_port=2242
-readonly remote_iodine_tsocks_port=5342
index 86708e1..f0d55b8 100644 (file)
@@ -1,4 +1,4 @@
-Host 91.216.110.42
+Host ateliers.heureux-cyclage.org 91.216.110.42
+       DynamicForward 127.0.0.1:2242
+Host ns.i.wiklou.org 10.0.42.1
        DynamicForward 127.0.0.1:2242
-Host 10.0.42.1
-       DynamicForward 127.0.0.1:5342
index cd02d50..1cfa081 100644 (file)
@@ -13,8 +13,8 @@ sudo postfix quiet-reload
        #      ne sont pas signés par OpenPGP..
 "$tool"/local/insserv-remove  openerp
 
-sudo -u postgres psql -a -c "DROP USER IF EXISTS openerp;"
-~postgres/bin/createdb "$sv"
+"$tool"/local/postgresql-user-create     "$sv"
+"$tool"/local/postgresql-database-create "$sv"
 
 "$tool"/local/adduser "$sv" \
  --disabled-login \
index 622e4dd..3255de7 100644 (file)
@@ -1,5 +1,5 @@
 "$tool"/remote/site-x509-key-decrypt imap."$local_domainname" |
-"$tool"/remote/ssh -l root ' \
+"$tool"/remote/ssh root@"$local_fqdn" ' \
        sudo install -d -m 770 -o root -g root \
         /etc/dovecot/'"$local_domainname"'/ \
         /etc/dovecot/'"$local_domainname"'/imap \
@@ -10,5 +10,5 @@
                EOF
        sudo install -m 400 -o root -g root \
         /dev/stdin \
-        /etc/dovecot/"$local_domainname"/imap/x509/key.pem
+        /etc/dovecot/'"$local_domainname"'/imap/x509/key.pem
  '
index 847f870..0d92580 100644 (file)
@@ -87,7 +87,8 @@ sudo adduser backup "$sv"-data
 sudo adduser backup "$sv"
 
 sudo find "$tool"/local/backup \
- -mindepth 1 -maxdepth 1 -type f \
+ -mindepth 1 -maxdepth 1 -type f -perm /+x \
+ -name 'mysql-*' \
  -exec install -m 750 -o backup -g backup \
  -t ~backup/bin {} +
 sudo install -m 640 -o root -g root \
index 1bcd0f6..8b784c1 100644 (file)
@@ -1,6 +1,6 @@
 # DOC: http://wiki.postgresql.org/wiki/Shared_Database_Hosting
 
-#"$tool"/local/apt-get-install postgresql-9.1
+"$tool"/local/apt-get-install postgresql-9.1
 "$tool"/local/insserv-remove  postgresql
 "$tool"/local/adduser postgres \
  --disabled-login \
@@ -19,8 +19,6 @@
  --system
 sudo usermod --home /home/postgresql postgres
 sudo adduser postgres postgres-data
-sudo rm -rf \
- /etc/postgresql
 sudo install -d -m 1751 -o postgres -g postgres-data \
  /home/postgresql \
  /home/postgresql/etc \
@@ -59,10 +57,25 @@ sudo install -m 640 -o postgres -g postgres /dev/stdin \
  /etc/postgresql/9.1/main/pg_hba.conf <<-EOF
        local all postgres peer map=admin
        local all all      peer
+       hostssl all postgres samehost cert
        EOF
 sudo install -m 640 -o postgres -g postgres-data \
  "$tool"/etc/postgresql/9.1/main/postgresql.conf \
         /etc/postgresql/9.1/main/postgresql.conf
+sudo install -m 640 -o postgres -g postgres \
+ "$tool"/var/pub/x509/postgresql."$local_domainname"/crt+ca.pem \
+ /etc/postgresql/9.1/main/server.crt
+sudo install -m 640 -o postgres -g postgres \
+ "$tool"/var/pub/x509/postgresql."$local_domainname"/crt.self-signed.pem \
+ /etc/postgresql/9.1/main/root.crt
+sudo install -m 640 -o postgres -g postgres \
+ "$tool"/var/pub/x509/postgresql."$local_domainname"/crl.self-signed.pem \
+ /etc/postgresql/9.1/main/root.crl
+for f in server.crt server.key root.crt root.crl
+ do sudo ln -fns \
+        /etc/postgresql/9.1/main/$f \
+        /home/postgresql/data/$f
+ done
 
 sudo ln -fns \
         ../sv/"$sv" \
@@ -104,18 +117,31 @@ sudo -u postgres psql template1 -a -f - <<-EOF
        END AS plpgsql_created;
        DROP FUNCTION create_language_plpgsql();
        EOF
-# NOTE: supprime l'accès à la liste des bases données
-#       et utilisateurices depuis public.
 sudo -u postgres psql template1 -a -f - <<-EOF
        \set ON_ERROR_STOP on
        REVOKE ALL ON ALL TABLES IN SCHEMA pg_catalog FROM public;
        REVOKE ALL ON               SCHEMA pg_catalog FROM public;
-       -- REVOKE ALL ON pg_auth_members FROM public;
-       -- REVOKE ALL ON pg_authid       FROM public;
-       -- REVOKE ALL ON pg_database     FROM public;
-       -- REVOKE ALL ON pg_group        FROM public;
-       -- REVOKE ALL ON pg_roles        FROM public;
-       -- REVOKE ALL ON pg_settings     FROM public;
-       -- REVOKE ALL ON pg_tablespace   FROM public;
-       -- REVOKE ALL ON pg_user         FROM public;
        EOF
+"$tool"/local/postgresql-user-create backup
+sudo -u postgres psql template1 -a -f - <<-EOF
+       \set ON_ERROR_STOP on
+       ALTER USER backup WITH SUPERUSER;
+               -- NOTE: permet VACUUM
+       GRANT USAGE  ON                  SCHEMA pg_catalog TO backup;
+       GRANT USAGE  ON                  SCHEMA public     TO backup;
+       GRANT SELECT ON ALL TABLES    IN SCHEMA pg_catalog TO backup;
+       GRANT SELECT ON ALL TABLES    IN SCHEMA public     TO backup;
+       GRANT SELECT ON ALL SEQUENCES IN SCHEMA public     TO backup;
+       GRANT CONNECT ON DATABASE template1 TO backup;
+       GRANT CONNECT ON DATABASE postgres  TO backup;
+       EOF
+sudo adduser backup postgres-data
+
+sudo find "$tool"/local/backup \
+ -mindepth 1 -maxdepth 1 -type f -perm /+x \
+ -name 'postgresql-*' \
+ -exec install -m 750 -o backup -g backup \
+ -t ~backup/bin {} +
+sudo install -m 640 -o root -g root \
+ "$tool"/etc/cron.d/postgresql-backup \
+        /etc/cron.d/postgresql-backup
diff --git a/etc/sv/postgres/remote.sh b/etc/sv/postgres/remote.sh
new file mode 100644 (file)
index 0000000..9e87c3d
--- /dev/null
@@ -0,0 +1,15 @@
+"$tool"/remote/site-x509-key-decrypt postgresql."$local_domainname" |
+"$tool"/remote/ssh root@"$local_fqdn" ' \
+       set -efux
+       sudo install -d -m 1771 -o postgres -g postgres-data \
+        /etc/postgresql \
+        /etc/postgresql/9.1 \
+        /etc/postgresql/9.1/main
+       sudo install -m 644 -o postgres -g postgres /dev/stdin \
+        /etc/postgresql/9.1/main/.gitignore <<-EOF
+               server.key
+               EOF
+       sudo install -m 400 -o postgres -g postgres \
+        /dev/stdin \
+        /etc/postgresql/9.1/main/server.key
+ '
index a65e1c0..bf8c49e 100755 (executable)
@@ -11,4 +11,6 @@ exec /usr/bin/chpst \
  /usr/lib/postgresql/9.1/bin/postgres \
  -D "$home"/data \
  -e \
- -c config_file=/etc/postgresql/9.1/main/postgresql.conf
+ -c config_file=/etc/postgresql/9.1/main/postgresql.conf \
+ -l \
+ -p 5432
index 06f436a..ae7c1dc 100644 (file)
@@ -4,7 +4,7 @@ home=/home/sympa
 "$tool"/local/runit-sv-start     postgres
 while ! sudo -u postgres psql </dev/null
 do sleep 1; done
-~postgres/bin/createuser "$sv"
+"$tool"/local/postgresql-user-create "$sv"
 sudo -u postgres psql template1 -a -f - <<-EOF
        \set ON_ERROR_STOP on
        -- NOTE: pour /usr/share/sympa/lib/Upgrade.pm
@@ -157,3 +157,9 @@ sudo etckeeper commit -m "rule_runit_configure $sv"
  # NOTE: évite d'installer apache2 ..
 
 "$tool"/local/insserv-remove sympa
+
+sudo -u postgres psql template1 -a -f - <<-EOF
+       \set ON_ERROR_STOP on
+       REVOKE ALL ON DATABASE $sv FROM public;
+       GRANT ALL PRIVILEGES ON DATABASE $sv TO $sv;
+       EOF
diff --git a/etc/tsocks/ateliers.heureux-cyclage.org.conf b/etc/tsocks/ateliers.heureux-cyclage.org.conf
deleted file mode 100644 (file)
index a7369e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-local = 91.216.110.42/255.255.255.255
-server = 127.0.0.1
-server_port = 2242
-server_type = 5
diff --git a/etc/tsocks/i.wiklou.org.conf b/etc/tsocks/i.wiklou.org.conf
deleted file mode 100644 (file)
index 03f6adc..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-local = 10.0.42.0/255.255.255.224
-server = 127.0.0.1
-server_port = 5342
-server_type = 5
index 15452db..8cc436f 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 15452dbc01e72b96172e55cde0abc374c11fee70
+Subproject commit 8cc436fe9af8c94b3b8ee8c49c1cb718f6990b15
diff --git a/local/backup-status b/local/backup-status
new file mode 100755 (executable)
index 0000000..a82d2f9
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh -eu
+# SYNTAX: $databases [...]
+tool=$(readlink -e "${0%/*}/..")
+TRACE=${TRACE:-}
+. "$tool"/local/lib.sh
+
+for data in $(sudo -u backup find ~backup/data \
+ -mindepth 2 -maxdepth 2 -type d \
+ ${@:+-false $(printf -- '-or -path /home/backup/data/%s\n' "$@")} \
+ -printf '%P\n')
+ do
+       # NOTE: 0.9765625 = $(units -1 kilobytes kibibytes)
+       size=$(bc <<-EOF
+               scale=0; print ($(sudo -u backup du -ks ~backup/data/"$data" | cut -f 1) * 0.9765625 / 1), " Kio"
+               EOF
+        )
+       info '' data size
+       cat <<-EOF
+               ${tput_setaf_0}${tput_bold}
+               $(sudo -u backup ~backup/bin/duplicity 2>/dev/null \
+                --name "$data" \
+                collection-status \
+                file:///home/backup/data/"$data")
+               ${tput_sgr0}
+               EOF
+ done
index cbd0b20..4492ff9 100755 (executable)
@@ -10,11 +10,11 @@ install -d -m 770 -o backup -g backup \
  ~backup/archive/mysql \
  ~backup/data/mysql
 
-test "${TRACE:+set}" || no_print_statistics="-vw --no-print-statistics"
+test "${TRACE:+set}" || no_print_statistics="--no-print-statistics"
 "$tool"/mysql-snapshot "$database_pattern" \
  -- "$tool"/duplicity \
  --name 'mysql/"$database"' \
- $no_print_statistics \
+ ${no_print_statistics-} \
  "$@" \
  ~backup/snapshot/mysql/'"$database"' \
  file:///home/backup/data/mysql/'"$database"'
index 5140ffc..d77d2bf 100755 (executable)
@@ -16,19 +16,19 @@ install -d -m 770 -o backup -g backup \
  ~backup/snapshot/mysql
 
 snapshot () {
-       local database="$1"; shift
-       test ! -e ~backup/snapshot/mysql/$database
+       local database="$1" && shift &&
+       test ! -e ~backup/snapshot/mysql/"$database" &&
                # NOTE: soit une sauvegarde est déjà en cours,
                #       soit une précédente a échoué.
-       can_hotcopy=yes
+       can_hotcopy=yes &&
        while IFS='     ' read -r table engine
         do
                case $engine in
                 (MyISAM|ARCHIVE) :;;
                 (*) can_hotcopy=no;;
                 esac
-        done <<-EOF
-               $(mysql -u backup --batch --skip-column-names <<-EOF
+        done <<-EOF &&
+               $(mysql -u backup --batch --skip-column-names <<-EOF || exit 1
                                SELECT table_name,engine
                                        FROM information_schema.tables
                                        WHERE table_schema = '$database';
@@ -37,23 +37,23 @@ snapshot () {
                EOF
        case $can_hotcopy in
         (yes)
-               cd /
+               cd / &&
                sudo -u root find ~mysql-data -mindepth 1 -maxdepth 1 -type d -exec \
-                install -d -m 750 -o mysql -g backup {} +
-               cd - >/dev/null 2>&1
-               test "${TRACE:+set}" || quiet=--quiet
+                install -d -m 750 -o mysql -g backup {} + &&
+               cd - >/dev/null 2>&1 &&
+               test "${TRACE:+set}" || quiet=--quiet &&
                mysqlhotcopy --method=cp -u backup ${quiet:-} \
                 "$database" ~backup/snapshot/mysql
                ;;
         (no)
                install -d -m 770 -o backup -g backup \
-                ~backup/snapshot/mysql/"$database"
+                ~backup/snapshot/mysql/"$database" &&
                mysqldump --opt --events -u backup ${TRACE:+--verbose} \
-                --result-file ~backup/snapshot/mysql/$database/dump.sql \
+                --result-file ~backup/snapshot/mysql/"$database"/dump.sql \
                 "$database"
                ;;
-        esac
-       eval "$@"
+        esac &&
+       eval "$@" &&
        rm -rf \
         ~backup/snapshot/mysql/"$database"
  }
@@ -68,7 +68,7 @@ while IFS='   ' read -r database
                        EOF
         fi
  done <<-EOF
-       $(mysql -u backup --batch --skip-column-names <<-EOF
+       $(mysql -u backup --batch --skip-column-names <<-EOF || exit 1
                SELECT schema_name
                        FROM information_schema.schemata
                        WHERE schema_name NOT IN ('information_schema', 'performance_schema')
diff --git a/local/backup/postgresql-backup b/local/backup/postgresql-backup
new file mode 100755 (executable)
index 0000000..e474658
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh -eu
+# SYNTAX: $database_pattern -- $duplicity_options
+tool=$(readlink -e "${0%/*}/.")
+${TRACE:+set -x}
+
+database_pattern=$1; shift
+test ! "${1-}" = -- || shift
+
+install -d -m 770 -o backup -g backup \
+ ~backup/archive/postgresql \
+ ~backup/data/postgresql
+
+test "${TRACE:+set}" || no_print_statistics="--no-print-statistics"
+"$tool"/postgresql-snapshot "$database_pattern" \
+ -- "$tool"/duplicity \
+ --name 'postgresql/"$database"' \
+ ${no_print_statistics-} \
+ "$@" \
+ ~backup/snapshot/postgresql/'"$database"' \
+ file:///home/backup/data/postgresql/'"$database"'
diff --git a/local/backup/postgresql-snapshot b/local/backup/postgresql-snapshot
new file mode 100755 (executable)
index 0000000..da34ee0
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh -eu
+# SYNTAX: $database_pattern -- $snapshot_eval
+# DESCRIPTION: crée un instantané pour chaque base de données PostgreSQL $database donnée
+# DESCRIPTION: dans ~backup/snapshot/postgresql/"$database",
+# DESCRIPTION: puis évalue $snapshot_eval,
+# DESCRIPTION: puis efface l'instantané.
+${TRACE:+set -x}
+
+test "$(id -u)" = "$(id -u backup)"
+
+database_pattern=$1; shift
+test ! "${1-}" = -- || shift
+test ! $# = 0 || set -- :
+
+install -d -m 770 -o backup -g backup \
+ ~backup/snapshot/postgresql
+
+snapshot () {
+       local database="$1" && shift &&
+       test ! -e ~backup/snapshot/postgresql/"$database" &&
+               # NOTE: soit une sauvegarde est déjà en cours,
+               #       soit une précédente a échoué.
+       install -d -m 770 -o backup -g backup \
+        ~backup/snapshot/postgresql/"$database" &&
+       psql --quiet "$database" -c "VACUUM (ANALYSE);" &&
+       pg_dump --blobs --compress 0 --format custom ${TRACE:+--verbose} \
+        --file ~backup/snapshot/postgresql/"$database"/dump.sql \
+        "$database" &&
+       eval "$@" &&
+       rm -rf \
+        ~backup/snapshot/postgresql/"$database" &&
+       :
+ }
+
+exit=0
+while IFS=' \r' read -r database
+ do if ! snapshot "$database" "$@"
+        then
+               exit=1
+               cat >&2 <<-EOF
+                       ERROR: snapshot "$database" "$@"
+                       EOF
+        fi
+ done <<-EOF
+       $(psql --quiet --tuples-only postgres <<-EOF || exit 1
+               \set ON_ERROR_STOP on
+               SELECT datname
+                       FROM pg_catalog.pg_database
+                       WHERE datallowconn
+                       AND datname LIKE '$database_pattern';
+               EOF
+        )
+       EOF
+exit $exit
index 95a8fc0..98f025e 100755 (executable)
@@ -17,8 +17,8 @@ sudo install -d -m 750 -o backup -g backup \
  "$home"/etc/gpg \
  "$home"/etc/ssh
 sudo install -d -m 770 -o backup -g backup \
- "$home"/bin \
  "$home"/archive \
+ "$home"/bin \
  "$home"/data \
  "$home"/snapshot
 getent group sudo backup |
diff --git a/local/mysql-backup-status b/local/mysql-backup-status
deleted file mode 100755 (executable)
index 9a17eec..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh -eu
-# SYNTAX: $databases [...]
-tool=$(readlink -e "${0%/*}/..")
-TRACE=${TRACE:-}
-. "$tool"/local/lib.sh
-
-for database in $(sudo -u backup find ~backup/data/mysql \
- -mindepth 1 -maxdepth 1 -type d \
- ${@:+-false $(printf -- '-or -name %s\n' "$@")} \
- -printf '%f\n')
- do
-       # NOTE: 0.9765625 = $(units -1 kilobytes kibibytes)
-       size=$(bc <<-EOF
-               scale=0; print ($(sudo -u backup du -ks ~backup/data/mysql/"$database" | cut -f 1) * 0.9765625 / 1), " Kio"
-               EOF
-        )
-       info '' database size
-       cat <<-EOF
-               ${tput_setaf_0}${tput_bold}
-               $(sudo -u backup ~backup/bin/duplicity 2>/dev/null \
-                --name mysql/"$database" \
-                collection-status \
-                file:///home/backup/data/mysql/"$database")
-               ${tput_sgr0}
-               EOF
- done
index 5b412c6..be3e4b4 100755 (executable)
@@ -6,12 +6,15 @@ sudo install -m 644 -o root -g root /dev/stdin \
  /etc/hostname <<-EOF
        $vm
        EOF
-grep -q " $vm\$" /etc/hosts ||
+ {
+       printf '%s\n' "$(cat /etc/hosts)"
+       grep -q " $vm\$" /etc/hosts ||
+       printf "%s\n" "127.0.0.1 $local_fqdn $vm"
+       grep -q " postgresql.$local_domainname\$" /etc/hosts ||
+       printf "%s\n" "127.0.0.1 postgresql.$local_domainname"
+ } |
 sudo install -m 644 -o root -g root /dev/stdin \
- /etc/hosts <<-EOF
-       $(cat /etc/hosts)
-       127.0.0.1 $local_fqdn $vm
-       EOF
+ /etc/hosts
 sudo install -m 644 -o root -g root /dev/stdin \
  /etc/resolv.conf <<-EOF
        search ${local_host#*.}
index 77c6ec3..5a334f6 100755 (executable)
@@ -6,6 +6,6 @@ git remote rm host || true
 git remote add host $local_host:src/$local_hostname
 git config --replace remote.host.push HEAD:refs/remotes/master
 git remote rm local || true
-git remote add local $local_fqdn:src/$local_hostname
+git remote add local $local_ipv4:src/$local_hostname
 git config --replace remote.local.push HEAD:refs/remotes/master
 git submodule update --init
diff --git a/remote/iodine-socksify b/remote/iodine-socksify
new file mode 100755 (executable)
index 0000000..eb3148b
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh -eu
+tool=$(readlink -e "${0%/*}/..")
+. "$tool"/remote/lib.sh
+
+SOCKS_CONF="$tool"/etc/dante/"$local_iodine_ns".conf \
+exec socksify "$@"
diff --git a/remote/iodine-tsocks b/remote/iodine-tsocks
deleted file mode 100755 (executable)
index a289645..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh -eu
-tool=$(readlink -e "${0%/*}/..")
-. "$tool"/remote/lib.sh
-
-TSOCKS_CONF_FILE="$tool"/etc/tsocks/"$local_iodine_ns".conf \
-exec tsocks "$@"
diff --git a/remote/psql b/remote/psql
new file mode 100755 (executable)
index 0000000..8e1a219
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh -eu
+tool=$(readlink -e "${0%/*}/..")
+. "$tool"/remote/lib.sh
+
+user=postgres
+key="$tool"/var/sec/x509/postgresql."$local_domainname"/user/"$user"/key.pem
+
+read -r pass <<-EOF
+       $(stdbuf --output 0 tr -d -c '[:alnum:]' <"${random:-/dev/urandom}" | head -c 42)
+       EOF
+gpg --yes --decrypt "$key".gpg |
+openssl rsa -in /dev/stdin -des3 -passout fd:3 -out "$key" 3<<-EOF
+       $pass
+       EOF
+
+PGSSLCERT="$tool"/var/pub/x509/postgresql."$local_domainname"/user/"$user"/crt.pem \
+PGSSLKEY="$key" \
+PGSSLMODE=verify-full \
+PGSSLROOTCERT="$tool"/var/pub/x509/postgresql."$local_domainname"/crt+ca.pem \
+expect -f /dev/fd/3 \
+ psql \
+ --host postgresql."$local_domainname" \
+ --port 5432 \
+ --username "$user" \
+ "$@" 3<<-EOF
+       spawn {*}\$argv
+       expect {
+        "Enter PEM pass phrase:" {
+                       send -- "$pass\\r"
+                       interact
+                }
+        }
+       EOF
diff --git a/remote/socksify b/remote/socksify
new file mode 100755 (executable)
index 0000000..a89657d
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh -eu
+tool=$(readlink -e "${0%/*}/..")
+. "$tool"/remote/lib.sh
+
+SOCKS_CONF="$tool"/etc/dante/remote.conf \
+exec socksify "$@"
diff --git a/remote/tsocks b/remote/tsocks
deleted file mode 100755 (executable)
index 43cb5fa..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh -eu
-tool=$(readlink -e "${0%/*}/..")
-. "$tool"/remote/lib.sh
-
-TSOCKS_CONF_FILE="$tool"/etc/tsocks/"$local_fqdn".conf \
-exec tsocks "$@"
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/ca b/var/pub/x509/postgresql.heureux-cyclage.org/ca
new file mode 120000 (symlink)
index 0000000..6d4a070
--- /dev/null
@@ -0,0 +1 @@
+../heureux-cyclage.org
\ No newline at end of file
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crl.num b/var/pub/x509/postgresql.heureux-cyclage.org/crl.num
new file mode 100644 (file)
index 0000000..8a0f05e
--- /dev/null
@@ -0,0 +1 @@
+01
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crl.num.old b/var/pub/x509/postgresql.heureux-cyclage.org/crl.num.old
new file mode 100644 (file)
index 0000000..4daddb7
--- /dev/null
@@ -0,0 +1 @@
+00
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crl.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crl.pem
new file mode 100644 (file)
index 0000000..5f7b805
--- /dev/null
@@ -0,0 +1,23 @@
+-----BEGIN X509 CRL-----
+MIIDwTCCAakCAQEwDQYJKoZIhvcNAQENBQAwggFlMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNV
+BAsTElNlcnZpY2UgUG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVy
+ZXV4LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABp
+AGUAdQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAl
+BgsrBgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQB
+gjc8AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMT
+AkZSFw0xMzA0MjcwMjQxMjRaFw0yMzA0MjgwMjQxMjRaoA4wDDAKBgNVHRQEAwIB
+ADANBgkqhkiG9w0BAQ0FAAOCAgEAssq+PT24aHkF7jjy+kFMF8gh++qZBKF23aYw
+cNbMAaJ2khcbhqlFFb4YTkZ4sM1rmvP+nGxHwYg3ZSQ2BIRwoOsh7N+gqo4ZJEh0
+eWus5NI7821NW6qVK/T5lT3bKzsGSczK3B/gjdvS1Ctv/5v4xm6ose7OgMDpFAUt
+HQSRICtLznN+Dd5aV8HIAqTyBuLOomApFEdNFmTglLsIjZSja/pQFKb64KBs0pwp
+p91CW2qakNfmnn6Wf6352xT3vZo/ix/UQRAtzrDVBdpKrBx6EiQ+MG78YvQ1RylE
+lske3Q2X9hxDZOoJMSubyAqI+v3vl5QAar8uRMmqeIj8ziLNfRFqvXC+nKhSOCem
+6xKOA4FDJB66kpcyjeBW9PSc1IZUBto6OPDCiw0H/2gmtwPXo/HwyPK+ZOvMSrlF
+29/EB4/FV+obY3UkRNuR4hFU1MKlqOKzdlIeiGUFUBUAjthuCmerhVmtXOsi1dBh
+0KZ3WehdPINbWxN3XVZNNXG82flYSO70PpVpn5JQLpDNKqxPSfpF10jqTVbBsZr/
+YklGE/3DrFWEixfgm8U0p/WhLRoWMn9Iyr33v69S+uvI5JVtMLtpUB5wMzRSKsrE
+Ajkah+YtHlLx7lBfMhaxOgN7UHK2cVk30RShdojwlYTa63HeE8KGkGKzBzeyK8hB
+i3MYf0Y=
+-----END X509 CRL-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.num b/var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.num
new file mode 100644 (file)
index 0000000..8a0f05e
--- /dev/null
@@ -0,0 +1 @@
+01
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.num.old b/var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.num.old
new file mode 100644 (file)
index 0000000..4daddb7
--- /dev/null
@@ -0,0 +1 @@
+00
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crl.self-signed.pem
new file mode 100644 (file)
index 0000000..af7a944
--- /dev/null
@@ -0,0 +1,23 @@
+-----BEGIN X509 CRL-----
+MIIDwTCCAakCAQEwDQYJKoZIhvcNAQENBQAwggFlMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNV
+BAsTElNlcnZpY2UgUG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVy
+ZXV4LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABp
+AGUAdQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAl
+BgsrBgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQB
+gjc8AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMT
+AkZSFw0xMzA0MjcwMjQxMjZaFw0yMzA0MjgwMjQxMjZaoA4wDDAKBgNVHRQEAwIB
+ADANBgkqhkiG9w0BAQ0FAAOCAgEAi8TAXAqCdfSfe5eedN+w+lq+1XOhDAg8ehi0
+HnD2PGx2CsU5TWHCLYORFJdzd7caiOoaV/XjCg430yf9BHpITA+4srGQw0qYhuVc
+tULiJB9SzxbvWhmOwpchRgKlr5cB7ogRK6hKccBiWl88uZtFMVPgQV5VukCbkSHh
+fU8B2II0G+vcyjONXAtsAFIeeHElCQpACYFRLN1YrmiLlnhc2LzqXJi7hCdJtLac
+f7iegZcgtBIpRcd9MuT3Jim8YzASJPTayAhaG21Szy0mGG1qaEB8984WAHcrd7u6
+5AZ6BCGhzrDX5KinZWGCeJT9tcvV4Z8b01Hg+Gq1QRym5NOKt7yo1Gv+7u1pTLDf
+KSjIXXkAB4Hef2jGh3X9y8wI3/Ci9ddydE3Gs+mf4/EIMMvs9P79X19UvpQbu/np
+z686ENY2n06tdnidliKm6+gOUm2Dj31ZXrKqHx0RqG7sYqvNomcbrWtU4KRdaKS0
+eVaBtED6oVXvIPveLjVQzXkHWNFp+SmmcArv3KMkUNa61FAHwOUiHj1m311WX9tg
+w9Q0RsoNXPTJ+MkhKEo0WBg2k5FRN7OJOQJpiJJQQ15sdPjINpxcF6yxmsPbGQkA
+0nhIJeO6S9aR6+5Vrf9VUzgP5e3dxsWyAS8TJzRBisUnO9+sJ9jBX+xDolKjlzJi
+TwZGPSc=
+-----END X509 CRL-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt+ca.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crt+ca.pem
new file mode 100644 (file)
index 0000000..594d142
--- /dev/null
@@ -0,0 +1,106 @@
+-----BEGIN CERTIFICATE-----
+MIIJzzCCB7egAwIBAgIHIBMEJwRBITANBgkqhkiG9w0BAQ0FADCCARUxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNM
+SEMxGjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQA
+aQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQA
+aQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQI
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQg
+UG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0MB4XDTEzMDQyNzAyNDEyMVoX
+DTIzMDQyODAyNDEyMVowggFlMQswCQYDVQQGEwJGUjEfMB0GA1UECB4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4AZQAtAEEAbABwAGUA
+czEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNVBAsTElNlcnZpY2Ug
+UG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUAdQAgAG4AaQAg
+AG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsrBgEEAYI3PAIB
+AR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8AgECHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZSMIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2ylkR/6ngfLnKXtLYMwZ4PkwjzYtJFJK
+JMSMacAquPz8CaHftJUizuajK6Sb1FOz0vCnUHVMezwoaiB1+lI5zZtPPWPNlxqh
+cwreycxbtFvyIkAIwdcP+d1lnKGKf4iTnV+8QZIgwbCo4ElsjZwG9OJuFZ8tvBuF
+p6RPikYKYribGX35A78+FNO9BwzjZLQgXjWUUvY/gsxrTv80JaGg11O+/Ue+9BX+
+fsFv/3JaBFJ7QwyPFlTJFAZIK2bCj6GrqM/RXxWPGfYypA/lwd+p6GWUhesVQYS0
+dFMxNO4BsIoSnrPUrlKJRwWn/zSBlhl/djp230mTyC0YGmXiiwx/Jltoa1SeC0GG
+uIYwtIDQjZBXcDE5VdXYZ/BhcOyABpAARG8nyDeL1NsENSyCb/7KaseNQyRVCSY8
+Omeo5saJxhEKnIsa6+x3X/53j/cBofujqSwp5/dygiRB8485tQD25+9IaCOBm/PQ
+ZvtQTml5f3kjkNOQk766dVWdAFEkKKt25RgslYeLBfnVjU/iYEJ6jQxnYap+yk+A
+aFDsBIDblAjz3xgZnGBRRyomHwnBGE147sLEyOicSs1letKodncdN97Fb2wDiMZa
+n4iJdgH5IJtPg5iZsa200fCrGtPFGIq5Pb2dUmZ0n1efs0NDzEDtsF7p1pKgQGm3
+Tfm8s5TRN+ECAwEAAaOCAs4wggLKMBIGA1UdEwEB/wQIMAYBAf8CAQAwCwYDVR0P
+BAQDAgGmMDEGA1UdEQQqMCiBJmNvbnRhY3QrcG9zdGdyZXNxbEBoZXVyZXV4LWN5
+Y2xhZ2Uub3JnMB0GA1UdDgQWBBTqxCwK+WDxWx+kKz3uL3mzD5MXtDAmBgNVHRIE
+HzAdgRtjb250YWN0QGhldXJldXgtY3ljbGFnZS5vcmcwggFNBgNVHSMEggFEMIIB
+QIAU0EBE6JPhZPcKCUDAbYNnvLe57UqhggEdpIIBGTCCARUxHDAaBgNVBAMTE2hl
+dXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNMSEMxGjAY
+BgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEA
+dQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4A
+IABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNh
+cnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0ggcgEwMmCTgxMEcGCCsGAQUFBwEBBDsw
+OTA3BggrBgEFBQcwAoYraHR0cDovL3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1
+MDkvY3J0LnBlbTBHBgNVHR8EQDA+MDygOqA4hjZodHRwOi8vd3d3LmhldXJldXgt
+Y3ljbGFnZS5vcmcveDUwOS9wb3N0Z3Jlc3FsL2NybC5wZW0wSgYDVR0gBEMwQTA/
+BgUqgXoBKjA2MDQGCCsGAQUFBwIBFihodHRwczovL3d3dy5oZXVyZXV4LWN5Y2xh
+Z2Uub3JnL3g1MDkvY3BzMA0GCSqGSIb3DQEBDQUAA4ICAQAlEjbvQtDy5unSiGdf
+0xPi/ODxV/pNDShj4HnWmpi5B+vSsvPdaNKhDwb3AxPGG7fG757l3Tdu+u97dgpG
+5DT7/B3tyghgQdIWUFlG4RWTsXAA7/pu95kywl+spLHabzgns5HdCwjdLmOD1shE
+G5jDt8aZyUN0L4vWrRWvN95vwntCLYJvEz5qefRk5neopVKye7ZrvZL82msuygyt
+riQlafnj4wFTvxwGvm+ukaUUW/yXN0IQZwZU/tr0wEq9PSkMbBoi6U8lSEmxpI1C
+Atu0ljjSYH2c7ia2waWHSwRNNmpSGCoUzW3sjJLt6qwsGfNX1wb9kRg++VCAxY/7
+xwKRe9p5Okfk7jsTpWPj/aWpuG/uGn/4DxWOSEOAwPPnZ58eg02JvdRocWdAYuIw
+iK7L7UalyI/LPEkfp3Dq811eqxXQ7HG1tQgEgm+7dV0a8WLYkdHgA2SSomFkwt4v
+WWzmSkhIXRfMzF42yj+e7ibconwekY/XYDJ81BFw8eXiUshsnt2OkTxpWXDZ3T9T
+E59tNSgkUYKKqW0tp3WZ5C5Rf5AKb3UW3H5sSeypBAPNRH1lA1XkQvAmoGI21cWj
+FN5OCMbBpvKxMnpeAz1SYHSe9ydCBiI8TPr6U7BHQsRlzFY3clLm9mjzLntbsRWk
+u6/tOkJZxiUwr8+EQS2a6Go/hg==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIJHTCCBwWgAwIBAgIHIBMDJgk4MTANBgkqhkiG9w0BAQ0FADCCARUxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNM
+SEMxGjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQA
+aQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQA
+aQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQI
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQg
+UG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0MB4XDTEzMDMyNjA4MzgzMVoX
+DTIzMDMyNzA4MzgzMVowggEVMRwwGgYDVQQDExNoZXVyZXV4LWN5Y2xhZ2Uub3Jn
+MQswCQYDVQQGEwJGUjEMMAoGA1UEKxMDTEhDMRowGAYDVQQKExFMJ0hldXJldXgg
+Q3ljbGFnZTFXMFUGA1UECx5OAEEAbgB0AGkALQBhAHUAdABvAHIAaQB0AOkAIABk
+AGUAIABjAGUAcgB0AGkAZgBpAGMAYQB0AGkAbwBuACAAcAByAGkAbQBhAGkAcgBl
+MQ4wDAYDVQQREwU2OTAwMTEfMB0GA1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUA
+czEfMB0GA1UECRMWMTAgcnVlIFNhaW50IFBvbHljYXJwZTETMBEGA1UEFB4KAG4A
+6QBhAG4AdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMQW7t6xtjiy
+B++qKw1fetUPyF/LbMHllX4c3pxyRXjN7AnvDbVoTH7RItPoabAkmh5BFInXwP6P
+UtbX2uLyGNsnEh5MueMJcmcZ0woDFZe60An1sVCm0RLnNL2LvZBACZI4ZtnFVczO
+HL+kzUqik2PLyIqt0sicwsAvsY4iJLlRmfjjyp4jbiBhLaj3AgcqHhkf+6csNc+Y
+6LQC+C+9dcPq4RcJ8w939tU1VNth5Llil/jBkUS5SxEmXyo/yuPqkd5FxL0qGkm3
+8gf3AVZYwDwpwOBJPzjSg1lAonjNAuH/JD0AvytvTecPi1TYCJDW6VswB9X54ZJD
+cIuBWF7yCQSH/czAMppuQopuQJ8F6bdVyyDIKWJTXA9SdOQRrAZeIpVFu//8fbyv
+0yhLroTp1xXSRC+s+jEhdjZsOJGsY/0TH1biRQt9JvBTEzhFPww76FczYVa9Bxoq
+ipLjCwfzh68w948nsdOwRnsjMEJkIgv6rVsC4jxgaTc6ay2PnqbLxGmH1YENpHvf
+UuO2nB7aIvakxf6OsH95KBTzgvKSwYnp2QiPCpBTtOihD2RkA2uDPefHLU6058pb
+heXwMMKwUVn18rs9TH8T3N5q5AHpMK1H2Mvn9pskLpT16UKTOKkoktR1jgkJN6vR
+GNzjFB391ZVKfV90eXjtjsckyAcUNTdhAgMBAAGjggJsMIICaDASBgNVHRMBAf8E
+CDAGAQH/AgEBMAsGA1UdDwQEAwIBBjAmBgNVHREEHzAdgRtjb250YWN0QGhldXJl
+dXgtY3ljbGFnZS5vcmcwHQYDVR0OBBYEFNBAROiT4WT3CglAwG2DZ7y3ue1KMCYG
+A1UdEgQfMB2BG2NvbnRhY3RAaGV1cmV1eC1jeWNsYWdlLm9yZzCCAU0GA1UdIwSC
+AUQwggFAgBTQQETok+Fk9woJQMBtg2e8t7ntSqGCAR2kggEZMIIBFTEcMBoGA1UE
+AxMTaGV1cmV1eC1jeWNsYWdlLm9yZzELMAkGA1UEBhMCRlIxDDAKBgNVBCsTA0xI
+QzEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxVzBVBgNVBAseTgBBAG4AdABp
+AC0AYQB1AHQAbwByAGkAdADpACAAZABlACAAYwBlAHIAdABpAGYAaQBjAGEAdABp
+AG8AbgAgAHAAcgBpAG0AYQBpAHIAZTEOMAwGA1UEERMFNjkwMDExHzAdBgNVBAge
+FgBSAGgA9ABuAGUALQBBAGwAcABlAHMxHzAdBgNVBAkTFjEwIHJ1ZSBTYWludCBQ
+b2x5Y2FycGUxEzARBgNVBBQeCgBuAOkAYQBuAHSCByATAyYJODEwRwYIKwYBBQUH
+AQEEOzA5MDcGCCsGAQUFBzAChitodHRwOi8vd3d3LmhldXJldXgtY3ljbGFnZS5v
+cmcveDUwOS9jcnQucGVtMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaGV1
+cmV1eC1jeWNsYWdlLm9yZy94NTA5L2NybC5wZW0wDQYJKoZIhvcNAQENBQADggIB
+AAbK2IQ6dCmvBgB44XZ0g0K1xuJ91vGJfMq78bwamBzWOhSgXws7dbtrUD0oGq93
+I22GccnkjrbdsLVpQyQMEhK3eVgj0r3W+sN3ECqcNT35qqNO82RX2RCdKrC8OsWU
+tFUtyhMgZyjXWFcwZnK8CISxtc1KXm2qrUC/Mh/NFGn8OngLaIu2WbDNeDO6ZUbr
+ET4pIbfbwMGEvCYKx9Owqp5NYa8/JyUzHoihzc+CLam2WFp1BrjveacfU6l0+NwX
+i5uYtSJI/K3iKiy+W+8dkdzRYKh09icOCL+GKPEiioJrxfNYX6/HNTbfV/rJWCqd
+gIIpWxvWs1y8wgg6t+VqMm5OG5nsPkkbZiO1cljUnMDAn8kGrp2sORrxCzVgDAKV
+uhXthAdbKPSombuwjKo2M1rzPCGkYTOcgw9N6iaLcD2J1+h25MsZy96L2bNfWB3h
+1iZxQ8ohe+kUmG5NyH6Q9+lYzPfD3PZotehIYI05legurJnK0WM3K+imUw3ZvPxM
+aD0K2+9m/7WFyf9Di34ZeW9Fe9/dYPosoloAJv0w6YrCz8lu5+Vb8BEdaOIFYlr1
+jDlOO94dlg30hCMsP2UpNB+HA1xJEXkFvTnqjAfBHheke97i3y/4FBho3nLDT8Ee
++VZp12H3/m46pxvVjkU4nWqFutDphHDJqN/G8ferAZgt
+-----END CERTIFICATE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt+crl.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crt+crl.pem
new file mode 100644 (file)
index 0000000..225e5b2
--- /dev/null
@@ -0,0 +1,78 @@
+-----BEGIN CERTIFICATE-----
+MIIJzzCCB7egAwIBAgIHIBMEJwRBITANBgkqhkiG9w0BAQ0FADCCARUxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNM
+SEMxGjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQA
+aQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQA
+aQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQI
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQg
+UG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0MB4XDTEzMDQyNzAyNDEyMVoX
+DTIzMDQyODAyNDEyMVowggFlMQswCQYDVQQGEwJGUjEfMB0GA1UECB4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4AZQAtAEEAbABwAGUA
+czEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNVBAsTElNlcnZpY2Ug
+UG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUAdQAgAG4AaQAg
+AG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsrBgEEAYI3PAIB
+AR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8AgECHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZSMIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2ylkR/6ngfLnKXtLYMwZ4PkwjzYtJFJK
+JMSMacAquPz8CaHftJUizuajK6Sb1FOz0vCnUHVMezwoaiB1+lI5zZtPPWPNlxqh
+cwreycxbtFvyIkAIwdcP+d1lnKGKf4iTnV+8QZIgwbCo4ElsjZwG9OJuFZ8tvBuF
+p6RPikYKYribGX35A78+FNO9BwzjZLQgXjWUUvY/gsxrTv80JaGg11O+/Ue+9BX+
+fsFv/3JaBFJ7QwyPFlTJFAZIK2bCj6GrqM/RXxWPGfYypA/lwd+p6GWUhesVQYS0
+dFMxNO4BsIoSnrPUrlKJRwWn/zSBlhl/djp230mTyC0YGmXiiwx/Jltoa1SeC0GG
+uIYwtIDQjZBXcDE5VdXYZ/BhcOyABpAARG8nyDeL1NsENSyCb/7KaseNQyRVCSY8
+Omeo5saJxhEKnIsa6+x3X/53j/cBofujqSwp5/dygiRB8485tQD25+9IaCOBm/PQ
+ZvtQTml5f3kjkNOQk766dVWdAFEkKKt25RgslYeLBfnVjU/iYEJ6jQxnYap+yk+A
+aFDsBIDblAjz3xgZnGBRRyomHwnBGE147sLEyOicSs1letKodncdN97Fb2wDiMZa
+n4iJdgH5IJtPg5iZsa200fCrGtPFGIq5Pb2dUmZ0n1efs0NDzEDtsF7p1pKgQGm3
+Tfm8s5TRN+ECAwEAAaOCAs4wggLKMBIGA1UdEwEB/wQIMAYBAf8CAQAwCwYDVR0P
+BAQDAgGmMDEGA1UdEQQqMCiBJmNvbnRhY3QrcG9zdGdyZXNxbEBoZXVyZXV4LWN5
+Y2xhZ2Uub3JnMB0GA1UdDgQWBBTqxCwK+WDxWx+kKz3uL3mzD5MXtDAmBgNVHRIE
+HzAdgRtjb250YWN0QGhldXJldXgtY3ljbGFnZS5vcmcwggFNBgNVHSMEggFEMIIB
+QIAU0EBE6JPhZPcKCUDAbYNnvLe57UqhggEdpIIBGTCCARUxHDAaBgNVBAMTE2hl
+dXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNMSEMxGjAY
+BgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEA
+dQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4A
+IABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNh
+cnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0ggcgEwMmCTgxMEcGCCsGAQUFBwEBBDsw
+OTA3BggrBgEFBQcwAoYraHR0cDovL3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1
+MDkvY3J0LnBlbTBHBgNVHR8EQDA+MDygOqA4hjZodHRwOi8vd3d3LmhldXJldXgt
+Y3ljbGFnZS5vcmcveDUwOS9wb3N0Z3Jlc3FsL2NybC5wZW0wSgYDVR0gBEMwQTA/
+BgUqgXoBKjA2MDQGCCsGAQUFBwIBFihodHRwczovL3d3dy5oZXVyZXV4LWN5Y2xh
+Z2Uub3JnL3g1MDkvY3BzMA0GCSqGSIb3DQEBDQUAA4ICAQAlEjbvQtDy5unSiGdf
+0xPi/ODxV/pNDShj4HnWmpi5B+vSsvPdaNKhDwb3AxPGG7fG757l3Tdu+u97dgpG
+5DT7/B3tyghgQdIWUFlG4RWTsXAA7/pu95kywl+spLHabzgns5HdCwjdLmOD1shE
+G5jDt8aZyUN0L4vWrRWvN95vwntCLYJvEz5qefRk5neopVKye7ZrvZL82msuygyt
+riQlafnj4wFTvxwGvm+ukaUUW/yXN0IQZwZU/tr0wEq9PSkMbBoi6U8lSEmxpI1C
+Atu0ljjSYH2c7ia2waWHSwRNNmpSGCoUzW3sjJLt6qwsGfNX1wb9kRg++VCAxY/7
+xwKRe9p5Okfk7jsTpWPj/aWpuG/uGn/4DxWOSEOAwPPnZ58eg02JvdRocWdAYuIw
+iK7L7UalyI/LPEkfp3Dq811eqxXQ7HG1tQgEgm+7dV0a8WLYkdHgA2SSomFkwt4v
+WWzmSkhIXRfMzF42yj+e7ibconwekY/XYDJ81BFw8eXiUshsnt2OkTxpWXDZ3T9T
+E59tNSgkUYKKqW0tp3WZ5C5Rf5AKb3UW3H5sSeypBAPNRH1lA1XkQvAmoGI21cWj
+FN5OCMbBpvKxMnpeAz1SYHSe9ydCBiI8TPr6U7BHQsRlzFY3clLm9mjzLntbsRWk
+u6/tOkJZxiUwr8+EQS2a6Go/hg==
+-----END CERTIFICATE-----
+-----BEGIN X509 CRL-----
+MIIDwTCCAakCAQEwDQYJKoZIhvcNAQENBQAwggFlMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNV
+BAsTElNlcnZpY2UgUG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVy
+ZXV4LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABp
+AGUAdQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAl
+BgsrBgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQB
+gjc8AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMT
+AkZSFw0xMzA0MjcwMjQxMjRaFw0yMzA0MjgwMjQxMjRaoA4wDDAKBgNVHRQEAwIB
+ADANBgkqhkiG9w0BAQ0FAAOCAgEAssq+PT24aHkF7jjy+kFMF8gh++qZBKF23aYw
+cNbMAaJ2khcbhqlFFb4YTkZ4sM1rmvP+nGxHwYg3ZSQ2BIRwoOsh7N+gqo4ZJEh0
+eWus5NI7821NW6qVK/T5lT3bKzsGSczK3B/gjdvS1Ctv/5v4xm6ose7OgMDpFAUt
+HQSRICtLznN+Dd5aV8HIAqTyBuLOomApFEdNFmTglLsIjZSja/pQFKb64KBs0pwp
+p91CW2qakNfmnn6Wf6352xT3vZo/ix/UQRAtzrDVBdpKrBx6EiQ+MG78YvQ1RylE
+lske3Q2X9hxDZOoJMSubyAqI+v3vl5QAar8uRMmqeIj8ziLNfRFqvXC+nKhSOCem
+6xKOA4FDJB66kpcyjeBW9PSc1IZUBto6OPDCiw0H/2gmtwPXo/HwyPK+ZOvMSrlF
+29/EB4/FV+obY3UkRNuR4hFU1MKlqOKzdlIeiGUFUBUAjthuCmerhVmtXOsi1dBh
+0KZ3WehdPINbWxN3XVZNNXG82flYSO70PpVpn5JQLpDNKqxPSfpF10jqTVbBsZr/
+YklGE/3DrFWEixfgm8U0p/WhLRoWMn9Iyr33v69S+uvI5JVtMLtpUB5wMzRSKsrE
+Ajkah+YtHlLx7lBfMhaxOgN7UHK2cVk30RShdojwlYTa63HeE8KGkGKzBzeyK8hB
+i3MYf0Y=
+-----END X509 CRL-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt+crl.self-signed.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crt+crl.self-signed.pem
new file mode 100644 (file)
index 0000000..66fa98c
--- /dev/null
@@ -0,0 +1,80 @@
+-----BEGIN CERTIFICATE-----
+MIIKOTCCCCGgAwIBAgIHIBMEJwRBJTANBgkqhkiG9w0BAQ0FADCCAWUxCzAJBgNV
+BAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQH
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXggQ3lj
+bGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYDVQQDEx5wb3N0
+Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBWADEALgAwACwA
+IABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABuAGkAIABtAG8A
+dABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxEzARBgsr
+BgEEAYI3PAIBAxMCRlIwHhcNMTMwNDI3MDI0MTI1WhcNMjMwNDI4MDI0MTI1WjCC
+AWUxCzAJBgNVBAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MR8wHQYDVQQHHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hl
+dXJldXggQ3ljbGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYD
+VQQDEx5wb3N0Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBW
+ADEALgAwACwAIABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABu
+AGkAIABtAG8AdABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0A
+QQBsAHAAZQBzMScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABl
+AHMxEzARBgsrBgEEAYI3PAIBAxMCRlIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDbKWRH/qeB8ucpe0tgzBng+TCPNi0kUkokxIxpwCq4/PwJod+0lSLO
+5qMrpJvUU7PS8KdQdUx7PChqIHX6UjnNm089Y82XGqFzCt7JzFu0W/IiQAjB1w/5
+3WWcoYp/iJOdX7xBkiDBsKjgSWyNnAb04m4Vny28G4WnpE+KRgpiuJsZffkDvz4U
+070HDONktCBeNZRS9j+CzGtO/zQloaDXU779R770Ff5+wW//cloEUntDDI8WVMkU
+BkgrZsKPoauoz9FfFY8Z9jKkD+XB36noZZSF6xVBhLR0UzE07gGwihKes9SuUolH
+Baf/NIGWGX92OnbfSZPILRgaZeKLDH8mW2hrVJ4LQYa4hjC0gNCNkFdwMTlV1dhn
+8GFw7IAGkABEbyfIN4vU2wQ1LIJv/spqx41DJFUJJjw6Z6jmxonGEQqcixrr7Hdf
+/neP9wGh+6OpLCnn93KCJEHzjzm1APbn70hoI4Gb89Bm+1BOaXl/eSOQ05CTvrp1
+VZ0AUSQoq3blGCyVh4sF+dWNT+JgQnqNDGdhqn7KT4BoUOwEgNuUCPPfGBmcYFFH
+KiYfCcEYTXjuwsTI6JxKzWV60qh2dx033sVvbAOIxlqfiIl2Afkgm0+DmJmxrbTR
+8Ksa08UYirk9vZ1SZnSfV5+zQ0PMQO2wXunWkqBAabdN+byzlNE34QIDAQABo4IC
+6DCCAuQwEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAaYwMQYDVR0RBCow
+KIEmY29udGFjdCtwb3N0Z3Jlc3FsQGhldXJldXgtY3ljbGFnZS5vcmcwHQYDVR0O
+BBYEFOrELAr5YPFbH6QrPe4vebMPkxe0MDEGA1UdEgQqMCiBJmNvbnRhY3QrcG9z
+dGdyZXNxbEBoZXVyZXV4LWN5Y2xhZ2Uub3JnMIIBnQYDVR0jBIIBlDCCAZCAFOrE
+LAr5YPFbH6QrPe4vebMPkxe0oYIBbaSCAWkwggFlMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNV
+BAsTElNlcnZpY2UgUG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVy
+ZXV4LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABp
+AGUAdQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAl
+BgsrBgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQB
+gjc8AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMT
+AkZSggcgEwQnBEElMFIGCCsGAQUFBwEBBEYwRDBCBggrBgEFBQcwAoY2aHR0cDov
+L3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvcG9zdGdyZXNxbC9jcnQucGVt
+MEcGA1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly93d3cuaGV1cmV1eC1jeWNsYWdlLm9y
+Zy94NTA5L3Bvc3RncmVzcWwvY3JsLnBlbTANBgkqhkiG9w0BAQ0FAAOCAgEAj0JB
+XnyosnXZd1LSWCY8knqsQ65/9L42ny/ObEKeSXUxF9Q73xQ3jI65kXGrpaxeVUte
+u9sakZuGe5LmrYI+wldL+zVD1zvrxNJH69WfutqbwJtMcXCsIKHyPXyzFhedo218
+U9DdnEujvwcIf/qEb2ElNgmRa9WKqbW6R3BULd9DlmvCSrIE1xdkSJOhNygPOQIL
+YQAFFMLSmtrG3kGYvuoIgFVRY/syPLht0q0spbfDmoo0QOe/ANi+MB8JFZOEwWJ1
+9h0+kAQfcOMVNoSMOY5kz7gEfko3HzVaXIMh2c7JrLxsNdyq5dNL2BVgEtuju9Sb
+9jnDFs3mJMWblyQVuekjycvrWXgfGMeoyrBq8nSXAWmfajCQb6dw/z91ULdy8Ojj
+Vj7o+YFqbsEOS99oNtzdgrWN3uRmYJXe/Di5d7q3oLzBmFB1lzxXGHTMsHVrvK5b
+XOefvTgsvelojJNMC5jb2fJKD6Sf6tLcJFUPf8ZrZgzQv/VEv2XZwlYW7LCgByCF
+rlttKPIBgOxdPIHRmiqG/Gdu7qpb+IcAMQ9ImIj8KtyB1UH2D3Grkm+mnlbbRtlx
+dLtYKqT6UlTh+yVceVlD2wIN2gKl307y4advci5M3Ggxhu18ca14Qs9gjpCA9QTJ
+ZfFoG+5bImsduRgwml3kn0b4ha8XEChvT5fDggk=
+-----END CERTIFICATE-----
+-----BEGIN X509 CRL-----
+MIIDwTCCAakCAQEwDQYJKoZIhvcNAQENBQAwggFlMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNV
+BAsTElNlcnZpY2UgUG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVy
+ZXV4LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABp
+AGUAdQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAl
+BgsrBgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQB
+gjc8AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMT
+AkZSFw0xMzA0MjcwMjQxMjZaFw0yMzA0MjgwMjQxMjZaoA4wDDAKBgNVHRQEAwIB
+ADANBgkqhkiG9w0BAQ0FAAOCAgEAi8TAXAqCdfSfe5eedN+w+lq+1XOhDAg8ehi0
+HnD2PGx2CsU5TWHCLYORFJdzd7caiOoaV/XjCg430yf9BHpITA+4srGQw0qYhuVc
+tULiJB9SzxbvWhmOwpchRgKlr5cB7ogRK6hKccBiWl88uZtFMVPgQV5VukCbkSHh
+fU8B2II0G+vcyjONXAtsAFIeeHElCQpACYFRLN1YrmiLlnhc2LzqXJi7hCdJtLac
+f7iegZcgtBIpRcd9MuT3Jim8YzASJPTayAhaG21Szy0mGG1qaEB8984WAHcrd7u6
+5AZ6BCGhzrDX5KinZWGCeJT9tcvV4Z8b01Hg+Gq1QRym5NOKt7yo1Gv+7u1pTLDf
+KSjIXXkAB4Hef2jGh3X9y8wI3/Ci9ddydE3Gs+mf4/EIMMvs9P79X19UvpQbu/np
+z686ENY2n06tdnidliKm6+gOUm2Dj31ZXrKqHx0RqG7sYqvNomcbrWtU4KRdaKS0
+eVaBtED6oVXvIPveLjVQzXkHWNFp+SmmcArv3KMkUNa61FAHwOUiHj1m311WX9tg
+w9Q0RsoNXPTJ+MkhKEo0WBg2k5FRN7OJOQJpiJJQQ15sdPjINpxcF6yxmsPbGQkA
+0nhIJeO6S9aR6+5Vrf9VUzgP5e3dxsWyAS8TJzRBisUnO9+sJ9jBX+xDolKjlzJi
+TwZGPSc=
+-----END X509 CRL-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crt.pem
new file mode 100644 (file)
index 0000000..bbd8704
--- /dev/null
@@ -0,0 +1,55 @@
+-----BEGIN CERTIFICATE-----
+MIIJzzCCB7egAwIBAgIHIBMEJwRBITANBgkqhkiG9w0BAQ0FADCCARUxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNM
+SEMxGjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQA
+aQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQA
+aQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQI
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQg
+UG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0MB4XDTEzMDQyNzAyNDEyMVoX
+DTIzMDQyODAyNDEyMVowggFlMQswCQYDVQQGEwJGUjEfMB0GA1UECB4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4AZQAtAEEAbABwAGUA
+czEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNVBAsTElNlcnZpY2Ug
+UG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUAdQAgAG4AaQAg
+AG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsrBgEEAYI3PAIB
+AR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8AgECHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZSMIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2ylkR/6ngfLnKXtLYMwZ4PkwjzYtJFJK
+JMSMacAquPz8CaHftJUizuajK6Sb1FOz0vCnUHVMezwoaiB1+lI5zZtPPWPNlxqh
+cwreycxbtFvyIkAIwdcP+d1lnKGKf4iTnV+8QZIgwbCo4ElsjZwG9OJuFZ8tvBuF
+p6RPikYKYribGX35A78+FNO9BwzjZLQgXjWUUvY/gsxrTv80JaGg11O+/Ue+9BX+
+fsFv/3JaBFJ7QwyPFlTJFAZIK2bCj6GrqM/RXxWPGfYypA/lwd+p6GWUhesVQYS0
+dFMxNO4BsIoSnrPUrlKJRwWn/zSBlhl/djp230mTyC0YGmXiiwx/Jltoa1SeC0GG
+uIYwtIDQjZBXcDE5VdXYZ/BhcOyABpAARG8nyDeL1NsENSyCb/7KaseNQyRVCSY8
+Omeo5saJxhEKnIsa6+x3X/53j/cBofujqSwp5/dygiRB8485tQD25+9IaCOBm/PQ
+ZvtQTml5f3kjkNOQk766dVWdAFEkKKt25RgslYeLBfnVjU/iYEJ6jQxnYap+yk+A
+aFDsBIDblAjz3xgZnGBRRyomHwnBGE147sLEyOicSs1letKodncdN97Fb2wDiMZa
+n4iJdgH5IJtPg5iZsa200fCrGtPFGIq5Pb2dUmZ0n1efs0NDzEDtsF7p1pKgQGm3
+Tfm8s5TRN+ECAwEAAaOCAs4wggLKMBIGA1UdEwEB/wQIMAYBAf8CAQAwCwYDVR0P
+BAQDAgGmMDEGA1UdEQQqMCiBJmNvbnRhY3QrcG9zdGdyZXNxbEBoZXVyZXV4LWN5
+Y2xhZ2Uub3JnMB0GA1UdDgQWBBTqxCwK+WDxWx+kKz3uL3mzD5MXtDAmBgNVHRIE
+HzAdgRtjb250YWN0QGhldXJldXgtY3ljbGFnZS5vcmcwggFNBgNVHSMEggFEMIIB
+QIAU0EBE6JPhZPcKCUDAbYNnvLe57UqhggEdpIIBGTCCARUxHDAaBgNVBAMTE2hl
+dXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQwwCgYDVQQrEwNMSEMxGjAY
+BgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEA
+dQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4A
+IABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNh
+cnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0ggcgEwMmCTgxMEcGCCsGAQUFBwEBBDsw
+OTA3BggrBgEFBQcwAoYraHR0cDovL3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1
+MDkvY3J0LnBlbTBHBgNVHR8EQDA+MDygOqA4hjZodHRwOi8vd3d3LmhldXJldXgt
+Y3ljbGFnZS5vcmcveDUwOS9wb3N0Z3Jlc3FsL2NybC5wZW0wSgYDVR0gBEMwQTA/
+BgUqgXoBKjA2MDQGCCsGAQUFBwIBFihodHRwczovL3d3dy5oZXVyZXV4LWN5Y2xh
+Z2Uub3JnL3g1MDkvY3BzMA0GCSqGSIb3DQEBDQUAA4ICAQAlEjbvQtDy5unSiGdf
+0xPi/ODxV/pNDShj4HnWmpi5B+vSsvPdaNKhDwb3AxPGG7fG757l3Tdu+u97dgpG
+5DT7/B3tyghgQdIWUFlG4RWTsXAA7/pu95kywl+spLHabzgns5HdCwjdLmOD1shE
+G5jDt8aZyUN0L4vWrRWvN95vwntCLYJvEz5qefRk5neopVKye7ZrvZL82msuygyt
+riQlafnj4wFTvxwGvm+ukaUUW/yXN0IQZwZU/tr0wEq9PSkMbBoi6U8lSEmxpI1C
+Atu0ljjSYH2c7ia2waWHSwRNNmpSGCoUzW3sjJLt6qwsGfNX1wb9kRg++VCAxY/7
+xwKRe9p5Okfk7jsTpWPj/aWpuG/uGn/4DxWOSEOAwPPnZ58eg02JvdRocWdAYuIw
+iK7L7UalyI/LPEkfp3Dq811eqxXQ7HG1tQgEgm+7dV0a8WLYkdHgA2SSomFkwt4v
+WWzmSkhIXRfMzF42yj+e7ibconwekY/XYDJ81BFw8eXiUshsnt2OkTxpWXDZ3T9T
+E59tNSgkUYKKqW0tp3WZ5C5Rf5AKb3UW3H5sSeypBAPNRH1lA1XkQvAmoGI21cWj
+FN5OCMbBpvKxMnpeAz1SYHSe9ydCBiI8TPr6U7BHQsRlzFY3clLm9mjzLntbsRWk
+u6/tOkJZxiUwr8+EQS2a6Go/hg==
+-----END CERTIFICATE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt.pem.asc b/var/pub/x509/postgresql.heureux-cyclage.org/crt.pem.asc
new file mode 100644 (file)
index 0000000..741f34a
--- /dev/null
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABCgAGBQJRezrRAAoJEF4nGc9w/oqeTPQP/jWn0eja550VFup2jKHzuhXw
+2AGEF4Ub+/ZJ07dawpO6KfkGCiTs4qT49L7Gq/7JtyQ2cBSOGeEuTp7x3Opp46Dx
+j+g0u0cN/LFL2kCxPfK7yPY8Qqt/19UP6Ja7MEeVNg7NrAKUoOmjxSGeMLz7M4xe
+tYVuY/7tC83AtwqvxYUY3Ma9PF41NztK9CbCKHvqDJBlzFhiWkliPEkfg6izdGDs
+j9m+7HS94g+e7ohqjrp2EygVCmmkItWtGUqUhPxU1O1ktyOIIl3WhfSLLO/N2Eu6
+vp0if7VIvRTKBaKsMliWeOwMRIGNSkAcIfTfr4K1FQqaN9Qm96tKDqrCxRzcOg5H
+r+yZYMIsTU+CTXrfH5x65olaikjPIazEQhvRkEkjJqijkmVxCLfDLs4pnAHg9x51
+aGTYwvY0t3IZsQpVB0LJE1OFepQoc/HpqoFGTKn8cr1pwwpKwzFvizHLUSQtIhbm
+yR5nLsFro9o6likYxyEXOP9kylHiNfoqkG2kohFSPYgccUNS4XrG0zoLk20EoroL
+g6m4I/awLRN2JLrjIIGFVECecqkxbw7KrHJ71muCBWZrGOBQr4DAdLkFDV7VPVEx
+huHnX0ySvrDQAvd7o9owOENRv5kieiR+kHpghVQi/8xkutO9fZ0DS+zx5GS07MT3
+tNdprr3fA243bwXszamO
+=RZsh
+-----END PGP SIGNATURE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt.self-signed.pem b/var/pub/x509/postgresql.heureux-cyclage.org/crt.self-signed.pem
new file mode 100644 (file)
index 0000000..b324dd2
--- /dev/null
@@ -0,0 +1,57 @@
+-----BEGIN CERTIFICATE-----
+MIIKOTCCCCGgAwIBAgIHIBMEJwRBJTANBgkqhkiG9w0BAQ0FADCCAWUxCzAJBgNV
+BAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQH
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXggQ3lj
+bGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYDVQQDEx5wb3N0
+Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBWADEALgAwACwA
+IABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABuAGkAIABtAG8A
+dABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxEzARBgsr
+BgEEAYI3PAIBAxMCRlIwHhcNMTMwNDI3MDI0MTI1WhcNMjMwNDI4MDI0MTI1WjCC
+AWUxCzAJBgNVBAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MR8wHQYDVQQHHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hl
+dXJldXggQ3ljbGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYD
+VQQDEx5wb3N0Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBW
+ADEALgAwACwAIABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABu
+AGkAIABtAG8AdABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0A
+QQBsAHAAZQBzMScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABl
+AHMxEzARBgsrBgEEAYI3PAIBAxMCRlIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDbKWRH/qeB8ucpe0tgzBng+TCPNi0kUkokxIxpwCq4/PwJod+0lSLO
+5qMrpJvUU7PS8KdQdUx7PChqIHX6UjnNm089Y82XGqFzCt7JzFu0W/IiQAjB1w/5
+3WWcoYp/iJOdX7xBkiDBsKjgSWyNnAb04m4Vny28G4WnpE+KRgpiuJsZffkDvz4U
+070HDONktCBeNZRS9j+CzGtO/zQloaDXU779R770Ff5+wW//cloEUntDDI8WVMkU
+BkgrZsKPoauoz9FfFY8Z9jKkD+XB36noZZSF6xVBhLR0UzE07gGwihKes9SuUolH
+Baf/NIGWGX92OnbfSZPILRgaZeKLDH8mW2hrVJ4LQYa4hjC0gNCNkFdwMTlV1dhn
+8GFw7IAGkABEbyfIN4vU2wQ1LIJv/spqx41DJFUJJjw6Z6jmxonGEQqcixrr7Hdf
+/neP9wGh+6OpLCnn93KCJEHzjzm1APbn70hoI4Gb89Bm+1BOaXl/eSOQ05CTvrp1
+VZ0AUSQoq3blGCyVh4sF+dWNT+JgQnqNDGdhqn7KT4BoUOwEgNuUCPPfGBmcYFFH
+KiYfCcEYTXjuwsTI6JxKzWV60qh2dx033sVvbAOIxlqfiIl2Afkgm0+DmJmxrbTR
+8Ksa08UYirk9vZ1SZnSfV5+zQ0PMQO2wXunWkqBAabdN+byzlNE34QIDAQABo4IC
+6DCCAuQwEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAaYwMQYDVR0RBCow
+KIEmY29udGFjdCtwb3N0Z3Jlc3FsQGhldXJldXgtY3ljbGFnZS5vcmcwHQYDVR0O
+BBYEFOrELAr5YPFbH6QrPe4vebMPkxe0MDEGA1UdEgQqMCiBJmNvbnRhY3QrcG9z
+dGdyZXNxbEBoZXVyZXV4LWN5Y2xhZ2Uub3JnMIIBnQYDVR0jBIIBlDCCAZCAFOrE
+LAr5YPFbH6QrPe4vebMPkxe0oYIBbaSCAWkwggFlMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNV
+BAsTElNlcnZpY2UgUG9zdGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVy
+ZXV4LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABp
+AGUAdQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAl
+BgsrBgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQB
+gjc8AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMT
+AkZSggcgEwQnBEElMFIGCCsGAQUFBwEBBEYwRDBCBggrBgEFBQcwAoY2aHR0cDov
+L3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvcG9zdGdyZXNxbC9jcnQucGVt
+MEcGA1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly93d3cuaGV1cmV1eC1jeWNsYWdlLm9y
+Zy94NTA5L3Bvc3RncmVzcWwvY3JsLnBlbTANBgkqhkiG9w0BAQ0FAAOCAgEAj0JB
+XnyosnXZd1LSWCY8knqsQ65/9L42ny/ObEKeSXUxF9Q73xQ3jI65kXGrpaxeVUte
+u9sakZuGe5LmrYI+wldL+zVD1zvrxNJH69WfutqbwJtMcXCsIKHyPXyzFhedo218
+U9DdnEujvwcIf/qEb2ElNgmRa9WKqbW6R3BULd9DlmvCSrIE1xdkSJOhNygPOQIL
+YQAFFMLSmtrG3kGYvuoIgFVRY/syPLht0q0spbfDmoo0QOe/ANi+MB8JFZOEwWJ1
+9h0+kAQfcOMVNoSMOY5kz7gEfko3HzVaXIMh2c7JrLxsNdyq5dNL2BVgEtuju9Sb
+9jnDFs3mJMWblyQVuekjycvrWXgfGMeoyrBq8nSXAWmfajCQb6dw/z91ULdy8Ojj
+Vj7o+YFqbsEOS99oNtzdgrWN3uRmYJXe/Di5d7q3oLzBmFB1lzxXGHTMsHVrvK5b
+XOefvTgsvelojJNMC5jb2fJKD6Sf6tLcJFUPf8ZrZgzQv/VEv2XZwlYW7LCgByCF
+rlttKPIBgOxdPIHRmiqG/Gdu7qpb+IcAMQ9ImIj8KtyB1UH2D3Grkm+mnlbbRtlx
+dLtYKqT6UlTh+yVceVlD2wIN2gKl307y4advci5M3Ggxhu18ca14Qs9gjpCA9QTJ
+ZfFoG+5bImsduRgwml3kn0b4ha8XEChvT5fDggk=
+-----END CERTIFICATE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/crt.self-signed.pem.asc b/var/pub/x509/postgresql.heureux-cyclage.org/crt.self-signed.pem.asc
new file mode 100644 (file)
index 0000000..ba93b52
--- /dev/null
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABCgAGBQJRezrVAAoJEF4nGc9w/oqeBikP/00RkBpegS0pwRaiJBXsfvkh
+VaAxnKx2j4rLVaN9aLd9iEGfC32/+ezApuyj6MuUm2mIuoNVfykwX6yzv98c8TeP
+H+MjC8nEGMHEUWJquFxnxhynJGH7EmgQb/KIFDhfzHykYii10WbGWkXo3cHyyiGv
+9ICFETwpMd04KrUBZhRcInU8+aOKJgMK3Z3SaX9JQLyqJtFytrKPmjbKKIHZygaM
+O8gShoWqwZ6qBw5ECoP6zz+Im/6KPEFh1FWuyuvKALLOlClmF3r1C5WgcdTkyEq2
+SCrTk0fNb0MNAD+UNVmNcYY84OWvg1CEzl4GQPj2ClOsjOpaK7p+KRQ8uvr+xyFF
+4kiWiuzZ2mDp36RrAgQb/43CMtoqhlqFiVv54Codpi41TZjJJoIVaBJU1wIN7Pj8
+lKpioQH9I+ezz/0bYyzR+qOGUh1LY2v1JOIqEvMWY3/AbYTe/VzGfIAcpAuIyBiR
+7Qu50VQb29gIpDASaKhvv3Fb+llDNkrm178XdgwF/PPeUcSKagfoPFzNCgdCoi4m
+o4Gu05yhZeDsl5RgX/RUqVlbmFRSeVzhr/hyInAaReDqR4jEWF004MA1O08LwNn5
+DEAnBmUjNFKH45p1XyNJn+PHxHaXlOSqfGuyf7C5jAL0cpxSFI1pJTeVtcFIjc+x
+t0poMapxBQVcEYIB/nsv
+=jV1d
+-----END PGP SIGNATURE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/idx.self-signed.txt b/var/pub/x509/postgresql.heureux-cyclage.org/idx.self-signed.txt
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/idx.txt b/var/pub/x509/postgresql.heureux-cyclage.org/idx.txt
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/req.pem b/var/pub/x509/postgresql.heureux-cyclage.org/req.pem
new file mode 100644 (file)
index 0000000..3d4dd22
--- /dev/null
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIFrDCCA5QCAQAwggFlMQswCQYDVQQGEwJGUjEfMB0GA1UECB4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEa
+MBgGA1UEChMRTCdIZXVyZXV4IEN5Y2xhZ2UxGzAZBgNVBAsTElNlcnZpY2UgUG9z
+dGdyZVNRTDEnMCUGA1UEAxMecG9zdGdyZXNxbC5oZXVyZXV4LWN5Y2xhZ2Uub3Jn
+MUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUAdQAgAG4AaQAgAG0A
+YQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsrBgEEAYI3PAIBAR4W
+AFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8AgECHhYAUgBoAPQA
+bgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZSMIICIjANBgkqhkiG
+9w0BAQEFAAOCAg8AMIICCgKCAgEA2ylkR/6ngfLnKXtLYMwZ4PkwjzYtJFJKJMSM
+acAquPz8CaHftJUizuajK6Sb1FOz0vCnUHVMezwoaiB1+lI5zZtPPWPNlxqhcwre
+ycxbtFvyIkAIwdcP+d1lnKGKf4iTnV+8QZIgwbCo4ElsjZwG9OJuFZ8tvBuFp6RP
+ikYKYribGX35A78+FNO9BwzjZLQgXjWUUvY/gsxrTv80JaGg11O+/Ue+9BX+fsFv
+/3JaBFJ7QwyPFlTJFAZIK2bCj6GrqM/RXxWPGfYypA/lwd+p6GWUhesVQYS0dFMx
+NO4BsIoSnrPUrlKJRwWn/zSBlhl/djp230mTyC0YGmXiiwx/Jltoa1SeC0GGuIYw
+tIDQjZBXcDE5VdXYZ/BhcOyABpAARG8nyDeL1NsENSyCb/7KaseNQyRVCSY8Omeo
+5saJxhEKnIsa6+x3X/53j/cBofujqSwp5/dygiRB8485tQD25+9IaCOBm/PQZvtQ
+Tml5f3kjkNOQk766dVWdAFEkKKt25RgslYeLBfnVjU/iYEJ6jQxnYap+yk+AaFDs
+BIDblAjz3xgZnGBRRyomHwnBGE147sLEyOicSs1letKodncdN97Fb2wDiMZan4iJ
+dgH5IJtPg5iZsa200fCrGtPFGIq5Pb2dUmZ0n1efs0NDzEDtsF7p1pKgQGm3Tfm8
+s5TRN+ECAwEAAaAAMA0GCSqGSIb3DQEBDQUAA4ICAQCEINkxorVDJZum9AIapJ3T
+ol1jEYLes9Zx6atCz10Um2XFZZK66VAyEbMrC0LLbLz8WFW9nmDfn5f2bCD39J/W
+DdHGd0sSuIKglDI1mNbJzBpQA3CdAKv9lZ4CildZKUhYQgHfULK9cmvTZKog+zQ3
+bLS/a4aKW1pkDh8GFs2wxpN8y72vG09NntZlugD6SqIVkld4AjsMtNdGwYJoECzw
+vuXNm2Ld2Lu4C+/E8wn4P1o0YOWy0N+RCMzU/E7qhMieO6lAhfVQAzQezanV8hMe
+2UxaG1yfqBYFFmhdw8k6IXQ22JwsZweiXaoYwpgR8+WypO0I4ujtyaJ5X5qT42or
+HKqdCH6tHDexQOx9tIJNwSdQWs4Jx2evWNCdC6Fc9sfh6q0JoooVoe52nzdg7MwG
+gjSMwUJFVd7EyVWNVl+UB5UHvdTXnSk5tyf27V99GUwanntlYFyHwYXOI+IHJXxg
+ctdnWPhVwQSql7lQpYq+bJCs1OEaPXDQeJoPRjE1gJlYLGUUOTeKlff6Lzrq6CkS
+1g/BMDrLeqBiVQ1L0rqa8gsEHU9EhwUKfXpdxNfkIeVhc7RBqNCAQnMV6p2T1FM+
+wcheqCfpbQfq4gq2PTjqypYXUnx8Sqjt8VlrMoOrd775X+POeGJrqv5jwxtt6QV6
+5TrQ6SZl240WX0ofElIXfA==
+-----END CERTIFICATE REQUEST-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/crt.ca-signed.pem b/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/crt.ca-signed.pem
new file mode 100644 (file)
index 0000000..e5191cb
--- /dev/null
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIIxDCCBqygAwIBAgIHIBMEJwUQRzANBgkqhkiG9w0BAQ0FADCCAWUxCzAJBgNV
+BAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQH
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXggQ3lj
+bGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYDVQQDEx5wb3N0
+Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBWADEALgAwACwA
+IABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABuAGkAIABtAG8A
+dABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxEzARBgsr
+BgEEAYI3PAIBAxMCRlIwHhcNMTMwNDI3MDMxMDQ3WhcNMjMwNDI4MDMxMDQ3WjCB
+lzELMAkGA1UEBhMCRlIxHzAdBgNVBAgeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMx
+GjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMTgwNgYDVQQLEy9DZXJ0aWZpY2F0
+IHV0aWxpc2F0ZXVyaWNlIGR1IHNlcnZpY2UgUG9zdGdyZVNRTDERMA8GA1UEAxMI
+cG9zdGdyZXMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCk8zhIkONK
+S8eDEBF3qPwkcFwjgmffSdswLH4/ij1NtMrrxyeWlitRhKxiqqsh1Kqge1queR3D
+qx6MilrJg5whBOa8CI2KnhkrehPLO46xpGX3ep2avfrpFnVmqgiJT0f8yf0qON/D
+wH0fGTM9WF+nWmKvoHNOG3PcrOBcvOSXobnwwuKN+pHWOXxpcJxqS+1TVlJx1SzP
+l0V5fYFotvNAgPeRapOAN88RJmwavFxAYkt2tSUz5RrrCgynxAssEs7maYmgBtp2
+fsArOfIfHWfMBzCLJXxY0y45exRYIierLAwgvv9gdtpZM3lrmfTOmnLJiTO8Ob5o
+5Y7GSkF+A57UaP3o24JwGArmcTtIr3Nq3chpSI2YFW8DxjPlzfN7cirZDUjjI4UT
+LEI109ZxCBz7mvhh6r1D/qmZCWzKv6BdCih3x1STbQb9ny1Mya2AO/ljn2w/Dap7
+aUX3oZa6ZQ77LXTAWDTzFyWmPtWpQwVtb84dH5b69DK6VOImx6/8fduwQVIjlyi3
+Mlqv3a+ICGRItpm33dZ/M091UOgAtD3y5qPGMmqDVtrXQIymhpUVdHfQFx4FJYBA
+sIBhgX20YDWiY6OxbKY48nSqbG2zmjonmNKARDr3Cx8JyErp+bUETmqRdHoF333F
+QN5QZJtSL+zSPSppV9Ns1ZtNRrEYQJdvxwIDAQABo4ICQjCCAj4wDwYDVR0TAQH/
+BAUwAwIBADALBgNVHQ8EBAMCBaAwJwYDVR0RBCAwHoEccG9zdGdyZXNAaGV1cmV1
+eC1jeWNsYWdlLm9yZzAdBgNVHQ4EFgQUPU21qIlleytQgJlBLh7rDdnsGsEwMQYD
+VR0SBCowKIEmY29udGFjdCtwb3N0Z3Jlc3FsQGhldXJldXgtY3ljbGFnZS5vcmcw
+ggFNBgNVHSMEggFEMIIBQIAU6sQsCvlg8VsfpCs97i95sw+TF7ShggEdpIIBGTCC
+ARUxHDAaBgNVBAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQww
+CgYDVQQrEwNMSEMxGjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMVcwVQYDVQQL
+Hk4AQQBuAHQAaQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAgAGMAZQByAHQAaQBm
+AGkAYwBhAHQAaQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAMBgNVBBETBTY5MDAx
+MR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQJExYxMCBy
+dWUgU2FpbnQgUG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEAbgB0ggcgEwQnBEEh
+MFIGCCsGAQUFBwEBBEYwRDBCBggrBgEFBQcwAoY2aHR0cDovL3d3dy5oZXVyZXV4
+LWN5Y2xhZ2Uub3JnL3g1MDkvcG9zdGdyZXNxbC9jcnQucGVtMA0GCSqGSIb3DQEB
+DQUAA4ICAQCUo2UKqnScLz29OCYvEqhmQr816yLYviOqJuPyOt63zCrDZIbYeh6o
+3ZASAyx3sZVj6nm52tbrpfBCyDQMGLPfY+5FVBMqOVwm0Pbuf/xKPTXEpqGZeCAO
+6uXe0OP2QONb9REwV3P2hI/5JTbu+kz3KJNSklybpJTyFxnPBkFQDqUn3M1JKH1g
+eXKFRracoEhw1nGYFObjjz/4F8u2mlr8DnZK/XFrJtIfoAwkXf2cR+WiFlTyth6U
++qI7UDn95kx0kARidQsTUbQoy7QOTiu+oU1C7noyy+AnvAZ+lfhCJAL/w0MPfWuJ
+BayM28pYbXnJSmBP0vs6CWc8tI8XniXMPK/eFo6mGAeoHJ3WQ+IFy7CcgsVZeGyl
+ZqU9NTDVbmhcBL0y7dEDArzky3+/pnWdcBP9HEd0iMfr+OpdLsH+IN2OLjtceFo1
+RkF/Nj+b7kIO7NwDEM8HyrtFmD52lddVPiRHp+VA3ASK9PMadV9JpyONHbls3MYt
+VdDB6/PGwRoFnNCk+Ba5nEnLILiVKr6CipHVCE4REOKAOaKeOmQ6KnpQrYVuoc09
+aZMK7owGrovBnn5ZE7gkjLZlJXnkR7e4JlQB6XNRRj+Ed2+5xmCpHeQ8gu8N1kQD
+8sgriLHA0hu7+WbqHgyfPoKoGz7WqsCAiSsvrc5wogbvSYwTMnNNDg==
+-----END CERTIFICATE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/crt.pem b/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/crt.pem
new file mode 100644 (file)
index 0000000..46bdea5
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN CERTIFICATE-----
+MIIJFDCCBvygAwIBAgIHIBMEJwUQRzANBgkqhkiG9w0BAQ0FADCCAWUxCzAJBgNV
+BAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQH
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXggQ3lj
+bGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYDVQQDEx5wb3N0
+Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBWADEALgAwACwA
+IABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABuAGkAIABtAG8A
+dABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxEzARBgsr
+BgEEAYI3PAIBAxMCRlIwHhcNMTMwNDI3MDMxMDQ3WhcNMjMwNDI4MDMxMDQ3WjCB
+lzELMAkGA1UEBhMCRlIxHzAdBgNVBAgeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMx
+GjAYBgNVBAoTEUwnSGV1cmV1eCBDeWNsYWdlMTgwNgYDVQQLEy9DZXJ0aWZpY2F0
+IHV0aWxpc2F0ZXVyaWNlIGR1IHNlcnZpY2UgUG9zdGdyZVNRTDERMA8GA1UEAxMI
+cG9zdGdyZXMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCk8zhIkONK
+S8eDEBF3qPwkcFwjgmffSdswLH4/ij1NtMrrxyeWlitRhKxiqqsh1Kqge1queR3D
+qx6MilrJg5whBOa8CI2KnhkrehPLO46xpGX3ep2avfrpFnVmqgiJT0f8yf0qON/D
+wH0fGTM9WF+nWmKvoHNOG3PcrOBcvOSXobnwwuKN+pHWOXxpcJxqS+1TVlJx1SzP
+l0V5fYFotvNAgPeRapOAN88RJmwavFxAYkt2tSUz5RrrCgynxAssEs7maYmgBtp2
+fsArOfIfHWfMBzCLJXxY0y45exRYIierLAwgvv9gdtpZM3lrmfTOmnLJiTO8Ob5o
+5Y7GSkF+A57UaP3o24JwGArmcTtIr3Nq3chpSI2YFW8DxjPlzfN7cirZDUjjI4UT
+LEI109ZxCBz7mvhh6r1D/qmZCWzKv6BdCih3x1STbQb9ny1Mya2AO/ljn2w/Dap7
+aUX3oZa6ZQ77LXTAWDTzFyWmPtWpQwVtb84dH5b69DK6VOImx6/8fduwQVIjlyi3
+Mlqv3a+ICGRItpm33dZ/M091UOgAtD3y5qPGMmqDVtrXQIymhpUVdHfQFx4FJYBA
+sIBhgX20YDWiY6OxbKY48nSqbG2zmjonmNKARDr3Cx8JyErp+bUETmqRdHoF333F
+QN5QZJtSL+zSPSppV9Ns1ZtNRrEYQJdvxwIDAQABo4ICkjCCAo4wDwYDVR0TAQH/
+BAUwAwIBADALBgNVHQ8EBAMCBaAwJwYDVR0RBCAwHoEccG9zdGdyZXNAaGV1cmV1
+eC1jeWNsYWdlLm9yZzAdBgNVHQ4EFgQUPU21qIlleytQgJlBLh7rDdnsGsEwMQYD
+VR0SBCowKIEmY29udGFjdCtwb3N0Z3Jlc3FsQGhldXJldXgtY3ljbGFnZS5vcmcw
+ggGdBgNVHSMEggGUMIIBkIAU6sQsCvlg8VsfpCs97i95sw+TF7ShggFtpIIBaTCC
+AWUxCzAJBgNVBAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBz
+MR8wHQYDVQQHHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hl
+dXJldXggQ3ljbGFnZTEbMBkGA1UECxMSU2VydmljZSBQb3N0Z3JlU1FMMScwJQYD
+VQQDEx5wb3N0Z3Jlc3FsLmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8eQgBW
+ADEALgAwACwAIABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUAIABu
+AGkAIABtAG8AdABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBlAC0A
+QQBsAHAAZQBzMScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwAcABl
+AHMxEzARBgsrBgEEAYI3PAIBAxMCRlKCByATBCcEQSUwUgYIKwYBBQUHAQEERjBE
+MEIGCCsGAQUFBzAChjZodHRwOi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUw
+OS9wb3N0Z3Jlc3FsL2NydC5wZW0wDQYJKoZIhvcNAQENBQADggIBAH+6T8TobQHC
+QBc2hGVqirs5sTMHRsHdwmC3hlnmsbz7LCo1F308NWfONYlnltoyg5qN2YeQre2E
+fKmHw111zqmlk4C5R2CRfhAgD6uFQzICLJ8Xv/Ws13n8VhrGcJnOSN9myKmr6ajd
+9QNTt0qBk5R2f9sXmUEH8Jb2soqZYxxp26OhfIz8WvYr1e2+SnY48dei6avv9kQ7
+5PWlvBCdfCkAQw2uMFs6AevqB/TOUHcmbWL3KZ6Ch9Bw67uePmcl+ICekcAkrjvf
+CBsAsug3Svi/31wk5ruVMTOClovpXa1Ov4/1DoNjnPsqPEfbBIp/UP7ivby97s2f
+ZyIzkHBk+I8Di8Q0IXPTY4NjyIkI1iEJgxMqBGmGHczGIEmIcn1iAFyCz7QbNNiN
+QaFbF83HHjqYkv+KbOS/LDqU58p1PirjzrGtZabl1/HmluGbr4EnKuZr0sob3eQJ
+HL+20WfvlSmFzWZqWkGZ2SNj7NJirmFJGNRNJ5x2INCBQ1EzQ8jXVJaosfFSNNEP
+7NLoybsE4Oe9DcUDpvb3ya/wBrX78S9eOnlcrGjfpP8Br8XFjldDc6VKEuFxOCYf
+NDjEnRU9lDFqy+xO9bdWQKqYSu4GS5UJ5nyxHtt306n4rYarpL8JhdlKf2U84XHy
+mpFH/WooLBqbsyPK2VPHp1YU8SZxA0TZ
+-----END CERTIFICATE-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/req.pem b/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/req.pem
new file mode 100644 (file)
index 0000000..c0e951f
--- /dev/null
@@ -0,0 +1,29 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIE3TCCAsUCAQAwgZcxCzAJBgNVBAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBl
+AC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXggQ3ljbGFnZTE4MDYGA1UE
+CxMvQ2VydGlmaWNhdCB1dGlsaXNhdGV1cmljZSBkdSBzZXJ2aWNlIFBvc3RncmVT
+UUwxETAPBgNVBAMTCHBvc3RncmVzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
+CgKCAgEApPM4SJDjSkvHgxARd6j8JHBcI4Jn30nbMCx+P4o9TbTK68cnlpYrUYSs
+YqqrIdSqoHtarnkdw6sejIpayYOcIQTmvAiNip4ZK3oTyzuOsaRl93qdmr366RZ1
+ZqoIiU9H/Mn9Kjjfw8B9HxkzPVhfp1pir6BzThtz3KzgXLzkl6G58MLijfqR1jl8
+aXCcakvtU1ZScdUsz5dFeX2BaLbzQID3kWqTgDfPESZsGrxcQGJLdrUlM+Ua6woM
+p8QLLBLO5mmJoAbadn7AKznyHx1nzAcwiyV8WNMuOXsUWCInqywMIL7/YHbaWTN5
+a5n0zppyyYkzvDm+aOWOxkpBfgOe1Gj96NuCcBgK5nE7SK9zat3IaUiNmBVvA8Yz
+5c3ze3Iq2Q1I4yOFEyxCNdPWcQgc+5r4Yeq9Q/6pmQlsyr+gXQood8dUk20G/Z8t
+TMmtgDv5Y59sPw2qe2lF96GWumUO+y10wFg08xclpj7VqUMFbW/OHR+W+vQyulTi
+Jsev/H3bsEFSI5cotzJar92viAhkSLaZt93WfzNPdVDoALQ98uajxjJqg1ba10CM
+poaVFXR30BceBSWAQLCAYYF9tGA1omOjsWymOPJ0qmxts5o6J5jSgEQ69wsfCchK
+6fm1BE5qkXR6Bd99xUDeUGSbUi/s0j0qaVfTbNWbTUaxGECXb8cCAwEAAaAAMA0G
+CSqGSIb3DQEBDQUAA4ICAQBhkfDmKzy9jCIylGwl5ujB1ns4ATOXwH2+tGxUX2XC
+ztI1WPNRg48b0S5WKv7Pr3qraK9oufq6Fir6ZKMLe/FHLflf9ZYJP6eYFpLj4KDd
+PAXYYnETkYVZyxgMUpS0ALX4zxyHobRjOF5/hhlf3HP9pY4VlRPaL1ozzMZE7+A4
+1xsO6ryuYbTwX2RNGez2XWKNJwqZ4mhl5OTvy+g97V77eqZ9OHXLnc14j3JLCXNV
+EOE0obO4bKqpjyQEt6y+6WsBnz7SyiR8SBNxh8q0BSJwLsQmM3YkWhcMMryqI/BH
+TpNXLtx/DV1cVROVb7gMm1uFe/asVWHRfoh7Py926QOToUzXRKohyrBo2OeUVzH7
+i+Z5MVwEO0bCaZSx8Zxe41ZFqYGjqHFys0tmSIAlLYExRBWESbOv2Rg7pX3FnxBh
+Ex4Bw++HGpyfw4DhMkxLGc4fJko2p/trBhIksBpiZ9HCwLGjt8V8EbHYxNfSB++l
+MG9ZhmArbUDVov7hUrrF2URfjfGSul935HiyJB1FNte4vvVcvdUedK1gbqPI8oRH
+BLPYEC1VgPj5KCnxPm6CkmsneEYpYCL8A0bhLxK66nawSwY6usbUdTZvmYOHT/Fu
+8NfHXmUl4kiF/wxMRhsapdiSTNPLmkiFPtbQhwcjmrymLfGvbMMqGWYD7NS1Ax3E
+5Q==
+-----END CERTIFICATE REQUEST-----
diff --git a/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/req.pem.asc b/var/pub/x509/postgresql.heureux-cyclage.org/user/postgres/req.pem.asc
new file mode 100644 (file)
index 0000000..1c08115
--- /dev/null
@@ -0,0 +1,55 @@
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+owNCWmg4MUFZJlNZltqbfgAEHX////v/91//////////f/////d7////f/v5///b
++2//9//QBeDC9hQnYm2SlLgFVTMU8FPU8IaNAxRmhqPRNqNB6T0GmgmnlPRGTBqY
+aamBojJ6TTTNTT0ZIGh6TI2mUMmgPSeoDEGmmmgMjTQybQgxlNij001DKn6p+QmE
+yZNo01R+mqemJp5JqemDTTVP1NMaTFP1T00T0Q9Jo0AAAABoAAAAAAAAADQAAANA
+DQAABlU/xMJpkwCGRkaaGjRkyZACaNGUyTMk2SNBpo0AAaGmgAAAA0AaAAAAAAAA
+NAAADQBAABoaADQAAAGg0AAGgAAAADQBoAAaAAA0AAAAAZMjQAAAAA0AARVT8p4m
+mmlPyp5J7RAyntKeoabRppqGj1P1J5IeobU8phGJhNDIA0MgaGQxAANAaGQYI0GJ
+o00aYgMmTQNGmmjQGIAwKKDG7+cpQ5gC9yBWCVakbSJ3fXUsBMr3jlnyA3P7lKjw
+A3kJiKtyQR8qnQpqtChmg9E9Ew42pTCnxNJyktLIwDhaZmltWdPfW1Sx8JUm6rX+
+QWJI4e3esB3WUEQyUxEkcN4SQtPggxPAQGzOZdl9A25+mujYcHTT0OHj+x1xJ4LL
+2XMHV9NrwXtnHVseOylagaskUyw9IErcOeD2BKzjaAANQ6ApENibuEipVzSPRFrC
+g95ndSheYbnsYlRspwsRs5J7KRZUJaawPD3AUKJW5q5XQLTEK7QhknAuhKBp9++p
+ACZ+GHBDAtWWMrZJ3iObXq3+VpBPuKB8VQJHbI9aPQDvOSCey2JLZdAByJgj6CM0
+QwfbrlT3j44lI403jip0Bb+yrbU4qSppMXy7R8QmnBRCKXooOzFVMRPknmjAMJUl
+XWyKDYN3XljzI+zE3GNRlyDvHcTsWn3puuFmxqGKuM/t1diXCRMI0yj7EYWvYwGr
+S3JDscng/fdy2UzgXY0hwzCXhnBVauRZ/E2B6aaLJTF7q72+b/a21eMy672SdS9B
+QQgYQB5K7gOhTS8BY4+RcUahYqKgh4wcY2ARDqZUAZCINjAg3f1RI6QClxowSDwZ
+CKHBAExE3h4cc5TlFIiRHNOswrLJijW8OeO+w2jLR0WM1MvHRhBBQqUVkOKP6ku9
+QlNwtwU1eBiNm0OIABHqs1VlGIpmfzyGaLHPUswonornGbnBTDAkkEhMLz3jqvcC
++vFhqgTTQjc/Q0iKSFwKoPANJHrANAGAO0ZZcFguIqc9rrcCd3VjNyhKAQBtwgWa
+y2/KbXnFsFt9F3b4EMoyHrCj3z1dZOcRDKrvpxQxQEG4apva03EtFJTDesOipY2p
+pDLoIJ1aqDfc5FsBDDFTVZC44QpB3AXECLGgOz4AMUioqCTPWdEbECozWz8ctJtw
+y5LCxEfEZciObZDrKtrBXV05EKgXLHa6ii9ThKSownzlssWIryLob4BIFONEHol2
+As5pgoGWDt8EL7HETCiDVFrrPsCUwyn8x0iBRWGRRohyA6V2UA5DnCEZDJtIQqRo
+LlgITVoxkQbJCBkWaKx5LWSlCgtSbL1CqurVqLDyc+GIdHyXnqaNvIyaU4gVm2qk
+MfOZYmBbyrIyh5pKzRoEy7sA51ZQQAzDFi5cIFHgwwxS5epgMLuBnok8gGMEPEA0
+HfnxO0TB1DjmZq9GYoZNQdpRm/kw2iZLV7GAV5Zs0Zacl5A8cUEQ2RiRIRKgRCoi
+5f8fFf024HmlrLQ1Am4IDSHCTo7BF6lzKG9Oolhx6oFO+mVLVIcjNqQwJiqhLUhp
+ZqqQLUL0wrIZI0vUQraVnC43YzBAByhgMuKg0tljSsVsgu0iqjFTUTaEHew40zgE
+DwlE0XrssHKFk8FOuH5Wb80ky1Otn6fAKFhPsENjEEJgdVfNVQqh34CVozidSDPU
+qVloiYLOc8yNFuWUZNPr5J7yFsOCqY4hiSEavUsioCjXRmCF8WWlue3sFOfFsZWq
+8WS8MWWucDxXtLPxatCgexFM2kiGhloIqymdNyFz6t0ZQhR0x4aWop3Q7ydsoR9G
+0FSIGQaABW+hT26wfxx6MQQC2SySHMqTVDCIjkQrohKBBRZ5zjVt3Lg8xMUI5Suo
+nMsIF5T4xCLBmg50OJL3grBc1JyC18uaqPD0EXjqz+6QqnhxwA0raSto0KnPZFOC
+n4CKALuy6nfu0EUXiAPabERCaIjBDGzIICtGNKUm+8uspU0X094KkgqwnrAlamZk
+gCIDJiC45URnPCrWQWgvkqfhvLIrCc3Y86vLGCcjkiv0h6Qw5RAjximMcmCAXVm/
+e6Fu8urjA5yOvXbx6p6ozWzhl3wsGVpLYWIEN7EO4D/DMSRbcC7VHW131CMgaJGB
+pKS5q08K9+U5uHKrEnFCnkA36L2ahpjgLz4lOyJXvTF0qroqwwgdL0r1e1HKigKe
+2rH00lfmOw/twQl6xg0DX17AB7cHQ7Vge2tMJa3GPfEIsVKk3U5RjzVZqN+/qTaj
+1HL2jCIi7hjWBd/ZgW6BcgPHXGu6oWWxKpkNU5rc10QzQqTJJGZcQwYSWgJ98W5E
+JI2AdTzIbc4uYyla+/RNSP2jjCs9XUvYY2KM1UPELWKTQ2dGxdJ/53L2pWztQZTR
+nMqcedlqOONIMS0nPcTmOb2ZK/chks9gc2duEXky2zVln6oGdfnD6jH6e2Hos4cg
+Gwg0lYX3Kweu+cw0VHkMEIQORbjxD5WtvHF2xT314RWVD5kc5HLTnl17dVKw45kr
+NuNCW0cx2KFKNp5q8gWADbm8EKXIZMU7loc4ULmwKwMF+MW3jBuwW6FHRAwJJCZm
+iNsXGV0pAE2Eb6vHvWsKsVBy0w95a3xqNV9LwR5UXUZQcb+S+S/j9ME2YHot917d
+2N5CrGpmLAy28F72SiI9ARcxRNMXGPZETyqOoZLs8WR9toaar25ewMbm8zsoY56R
+K578OXth34f1LNWumfkVzGN0gsuOpnW8FeFfc/Yc35yB/pNlmjdCNHCoeH2mxPJY
+L1JlmwrOTbbociuzJGxaVTgfhuTZ+zgga+RtCxynXZaVPrUCP4Amq+/lozsZArAG
+bU/yKtp9uEHiGYGkk9H4mjwcVq1vuMwF6E8xcV29l9vpq3bSGEHGIVOr33GNUlQv
+qZNTwVh3TwuJVe9lnIBNzKJcE56AVVH63EuKfowpNAkXH/F3JFOFCQltqbfg
+=pkCf
+-----END PGP MESSAGE-----