aboutsummaryrefslogtreecommitdiffstats
path: root/update-site-certs.sh
blob: 5d24404433718d150c8a1f34c667840507989a8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#!/bin/bash

cd /var/src/xmpp-site/sites/lite/
CONFIG="current-config.yml"
DOMAIN="$1"
#for DOMAIN in mattrude.com soderparr.com therudes.com
#do
    ###
    ### The Primary Cert Tests
    ###
    DOMAINFL="im.${DOMAIN}"
    if [ -f /etc/ejabberd/certs/$DOMAIN/fullchain.pem ]; then
        if [ `openssl x509 -noout -text -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |grep "DNS:$DOMAIN" |wc -l` -gt 0 ]; then
            EXPIRES=`openssl x509 -noout -text -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-expires: "/g' |sed 's/$/"/g'`
            SHA1=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-sha1: "/g' |sed 's/$/"/g'`
            SHA256=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-sha256: "/g' |sed 's/$/"/g'`
        else
            EXPIRES='fingerprint-expires: "No Key Found"'
            SHA1='fingerprint-sha1: "No Key Found"'
            SHA256='fingerprint-sha256: "No Key Found"'
        fi
    else
        if [ -f /etc/ejabberd/certs/${DOMAIN}/fullchain.pem ]; then
            if [ `openssl x509 -noout -text -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |grep "DNS:$DOMAIN" |wc -l` -gt 0 ]; then
                EXPIRES=`openssl x509 -noout -text -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-expires: "/g' |sed 's/$/"/g'`
                SHA1=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-sha1: "/g' |sed 's/$/"/g'`
                SHA256=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/ejabberd/certs/${DOMAIN}/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-sha256: "/g' |sed 's/$/"/g'`
            else
                EXPIRES='fingerprint-expires: "No Key Found"'
                SHA1='fingerprint-sha1: "No Key Found"'
                SHA256='fingerprint-sha256: "No Key Found"'
            fi
        fi
    fi
    sed -i "/fingerprint-expires/c$EXPIRES" ${CONFIG}
    sed -i "/fingerprint-sha1/c$SHA1" ${CONFIG}
    sed -i "/fingerprint-sha256/c$SHA256" ${CONFIG}

    ###
    ### The IM Cert Tests
    ###
    if [ -f /etc/letsencrypt/live/im.$DOMAIN/fullchain.pem ]; then
        IMEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/im.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-im-expires: "/g' |sed 's/$/"/g'`
        SHA1IM=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/im.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-im-sha1: "/g' |sed 's/$/"/g'`
        SHA256IM=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/im.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-im-sha256: "/g' |sed 's/$/"/g'`
    else
        if [ -f /etc/letsencrypt/live/$DOMAINFL/fullchain.pem ]; then
            IMEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-im-expires: "/g' |sed 's/$/"/g'`
            SHA1IM=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-im-sha1: "/g' |sed 's/$/"/g'`
            SHA256IM=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-im-sha256: "/g' |sed 's/$/"/g'`
        else
            if [ -f /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem ]; then
                IMEXPIRES=`openssl x509 -noout -text -in /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-im-expires: "/g' |sed 's/$/"/g'`
                SHA1IM=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-im-sha1: "/g' |sed 's/$/"/g'`
                SHA256IM=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-im-sha256: "/g' |sed 's/$/"/g'`
            else
                IMEXPIRES='fingerprint-im-expires: "No Key Found"'
                SHA1IM='fingerprint-im-sha1: "No Key Found"'
                SHA256IM='fingerprint-im-sha256: "No Key Found"'
            fi
        fi
    fi
    sed -i "/fingerprint-im-expires/c$IMEXPIRES" ${CONFIG}
    sed -i "/fingerprint-im-sha1/c$SHA1IM" ${CONFIG}
    sed -i "/fingerprint-im-sha256/c$SHA256IM" ${CONFIG}

    ###
    ### The Conference Cert Tests
    ###
    if [ -f /etc/letsencrypt/live/conference.$DOMAIN/fullchain.pem ]; then
        CONFERENCEEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/conference.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-conference-expires: "/g' |sed 's/$/"/g'`
        SHA1CONFERENCE=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/conference.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-conference-sha1: "/g' |sed 's/$/"/g'`
        SHA256CONFERENCE=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/conference.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-conference-sha256: "/g' |sed 's/$/"/g'`
    else
        if [ -f /etc/letsencrypt/live/$DOMAINFL/fullchain.pem ]; then
            CONFERENCEEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-conference-expires: "/g' |sed 's/$/"/g'`
            SHA1CONFERENCE=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-conference-sha1: "/g' |sed 's/$/"/g'`
            SHA256CONFERENCE=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-conference-sha256: "/g' |sed 's/$/"/g'`
        else
            if [ -f /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem ]; then
                CONFERENCEEXPIRES=`openssl x509 -noout -text -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-conference-expires: "/g' |sed 's/$/"/g'`
                SHA1CONFERENCE=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-conference-sha1: "/g' |sed 's/$/"/g'`
                SHA256CONFERENCE=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-conference-sha256: "/g' |sed 's/$/"/g'`
            else
                CONFERENCEEXPIRES='fingerprint-conference-expires: "No Key Found"'
                SHA1CONFERENCE='fingerprint-conference-sha1: "No Key Found"'
                SHA256CONFERENCE='fingerprint-conference-sha256: "No Key Found"'
            fi
        fi
    fi
    sed -i "/fingerprint-conference-expires/c$CONFERENCEEXPIRES" ${CONFIG}
    sed -i "/fingerprint-conference-sha1/c$SHA1CONFERENCE" ${CONFIG}
    sed -i "/fingerprint-conference-sha256/c$SHA256CONFERENCE" ${CONFIG}

    ###
    ### The Proxy Cert Tests
    ###
    if [ -f /etc/letsencrypt/live/proxy.$DOMAIN/fullchain.pem ]; then
        PROXYEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/proxy.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-proxy-expires: "/g' |sed 's/$/"/g'`
        SHA1PROXY=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/proxy.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-proxy-sha1: "/g' |sed 's/$/"/g'`
        SHA256PROXY=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/proxy.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-proxy-sha256: "/g' |sed 's/$/"/g'`
    else
        if [ -f /etc/letsencrypt/live/im.${DOMAIN}/fullchain.pem ]; then
            PROXYEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/im.${DOMAIN}/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-proxy-expires: "/g' |sed 's/$/"/g'`
            SHA1PROXY=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/im.${DOMAIN}/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-proxy-sha1: "/g' |sed 's/$/"/g'`
            SHA256PROXY=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/im.${DOMAIN}/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-proxy-sha256: "/g' |sed 's/$/"/g'`
        else
            if [ -f /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem ]; then
                PROXYEXPIRES=`openssl x509 -noout -text -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-proxy-expires: "/g' |sed 's/$/"/g'`
                SHA1PROXY=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-proxy-sha1: "/g' |sed 's/$/"/g'`
                SHA256PROXY=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-proxy-sha256: "/g' |sed 's/$/"/g'`
            else
                PROXYEXPIRES='fingerprint-proxy-expires: "No Key Found"'
                SHA1PROXY='fingerprint-proxy-sha1: "No Key Found"'
                SHA256PROXY='fingerprint-proxy-sha256: "No Key Found"'
            fi
        fi
    fi
    sed -i "/fingerprint-proxy-expires/c$PROXYEXPIRES" ${CONFIG}
    sed -i "/fingerprint-proxy-sha1/c$SHA1PROXY" ${CONFIG}
    sed -i "/fingerprint-proxy-sha256/c$SHA256PROXY" ${CONFIG}

    ###
    ### The Upload Cert Tests
    ###
    if [ -f /etc/letsencrypt/live/upload.$DOMAIN/fullchain.pem ]; then
        UPLOADEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/upload.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-upload-expires: "/g' |sed 's/$/"/g'`
        SHA1UPLOAD=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/upload.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-upload-sha1: "/g' |sed 's/$/"/g'`
        SHA256UPLOAD=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/upload.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-upload-sha256: "/g' |sed 's/$/"/g'`
    else
        if [ -f /etc/letsencrypt/live/$DOMAINFL/fullchain.pem ]; then
            UPLOADEXPIRES=`openssl x509 -noout -text -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-upload-expires: "/g' |sed 's/$/"/g'`
            SHA1UPLOAD=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-upload-sha1: "/g' |sed 's/$/"/g'`
            SHA256UPLOAD=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/letsencrypt/live/$DOMAINFL/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-upload-sha256: "/g' |sed 's/$/"/g'`
        else
            if [ -f /etc/ejabberd/certs/im.${DOMAIN}/fullchain.pem ]; then
                UPLOADEXPIRES=`openssl x509 -noout -text -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |grep "Not After : " |sed 's/            Not After : /fingerprint-upload-expires: "/g' |sed 's/$/"/g'`
                SHA1UPLOAD=`openssl x509 -noout -fingerprint -sha1 -inform pem -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |sed 's/SHA1 Fingerprint=/fingerprint-upload-sha1: "/g' |sed 's/$/"/g'`
                SHA256UPLOAD=`openssl x509 -noout -fingerprint -sha256 -inform pem -in /etc/ejabberd/certs/im.$DOMAIN/fullchain.pem |sed 's/SHA256 Fingerprint=/fingerprint-upload-sha256: "/g' |sed 's/$/"/g'`
            else
                UPLOADEXPIRES='fingerprint-upload-expires: "No Key Found"'
                SHA1UPLOAD='fingerprint-upload-sha1: "No Key Found"'
                SHA256UPLOAD='fingerprint-upload-sha256: "No Key Found"'
            fi
        fi
    fi
    sed -i "/fingerprint-upload-expires/c$UPLOADEXPIRES" ${CONFIG}
    sed -i "/fingerprint-upload-sha1/c$SHA1UPLOAD" ${CONFIG}
    sed -i "/fingerprint-upload-sha256/c$SHA256UPLOAD" ${CONFIG}
#done