Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XWf2h-0003U4-JW for pgsql-admin@arkaria.postgresql.org; Wed, 24 Sep 2014 05:23:07 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1XWf2g-00087N-4t for pgsql-admin@arkaria.postgresql.org; Wed, 24 Sep 2014 05:23:06 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XWf2e-00087G-HC for pgsql-admin@postgresql.org; Wed, 24 Sep 2014 05:23:04 +0000 Received: from mail-pd0-x231.google.com ([2607:f8b0:400e:c02::231]) by magus.postgresql.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1XWf2Z-0005Jl-J5 for pgsql-admin@postgresql.org; Wed, 24 Sep 2014 05:23:03 +0000 Received: by mail-pd0-f177.google.com with SMTP id v10so6092483pde.36 for ; Tue, 23 Sep 2014 22:22:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=OyZ/rC/xjHkyhn+cPD10MQBNhLyc39fssor1ye5rQ00=; b=uj5h5KrpLhpE63hiFnOmXptK9V21amysZvb0wNQ9MjCVULB5dk/3tGp5nx9JJfd0uq 1U9GwRrua1KgfeJ810PSRAP4j0X3OcYMYtwPuURuRHZ3Cl6awZDRDHGZ2hYoACpb4nHy vG9oxErpsHKgeDOpdCNa+2exC1BEznQ5Sp6IQBWAaZyFG5vBcM72Pp3otNSCkmuvN4Ue CmkE9npRu78P1bDUr5Hof6ltReW4TocJlsMueMgNszUGjApOfZZOxORQRUIKhgcvkaBG 3BPXvWMItfZXJG6aAsm6lICf8WoX9ux0IzKF8vzlFyBIimtTMKrquWIhuC0gSY7xiqXk /eGA== X-Received: by 10.67.15.172 with SMTP id fp12mr6304219pad.4.1411536175983; Tue, 23 Sep 2014 22:22:55 -0700 (PDT) Received: from [192.168.0.115] ([110.227.14.152]) by mx.google.com with ESMTPSA id rb2sm13691713pab.5.2014.09.23.22.22.53 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 23 Sep 2014 22:22:55 -0700 (PDT) Message-ID: <54225529.1020507@gmail.com> Date: Wed, 24 Sep 2014 10:52:49 +0530 From: Adalkonda Harshad User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Axel Rau , pgsql-admin@postgresql.org Subject: Re: Cert verify failed on client side after renewal of certs References: <74256716-042C-45E6-A2F2-09B0D0D34666@Chaos1.DE> In-Reply-To: <74256716-042C-45E6-A2F2-09B0D0D34666@Chaos1.DE> Content-Type: multipart/alternative; boundary="------------060908010700020600030907" X-Pg-Spam-Score: -1.6 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-admin Precedence: bulk Sender: pgsql-admin-owner@postgresql.org This is a multi-part message in MIME format. --------------060908010700020600030907 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 23-09-2014 19:21, Axel Rau wrote: > The problem below disappears if I remove client key and cert from ~/.postgresql, just keeping root.crt. > Which subject CN or Subject alternate name should I use with the client cert? > User name or FQDN of client host comes into mind. Docs are unclear in that point. > > Axel > > Am 18.09.2014 um 22:57 schrieb Axel Rau : > >> Hi all, >> >> I’m getting >> psql: SSL error: certificate verify failed >> after renewing server and client certs. >> Both certs are validated ok by openssl: >> - - - >> openssl verify -verbose -CAfile ca_cert.pem -purpose sslserver /usr/local/pgsql/data-l/db1.in.chaos1.de_server_cert.pem >> /usr/local/pgsql/data-l/db1.in.chaos1.de_server_cert.pem: OK >> - - - >> openssl verify -verbose -CAfile ca_cert.pem -purpose sslclient db1.in.chaos1.de_server_cert.pem >> db1.in.chaos1.de_server_cert.pem: OK >> - - - >> x509 extensions of server cert are >> - - - >> X509v3 Subject Key Identifier: >> E2:F8:B9:D0:94:F2:70:BD:BE:84:EE:5C:7B:45:95:47:E4:9F:49:3B >> X509v3 Basic Constraints: critical >> CA:FALSE >> X509v3 Key Usage: critical >> Digital Signature, Key Encipherment >> X509v3 Extended Key Usage: critical >> TLS Web Server Authentication >> X509v3 Subject Alternative Name: critical >> DNS:some.host, DNS:another host >> - - - >> and of client cert >> - - - >> X509v3 Subject Key Identifier: >> E2:F8:B9:D0:94:F2:70:BD:BE:84:EE:5C:7B:45:95:47:E4:9F:49:3B >> X509v3 Basic Constraints: critical >> CA:FALSE >> X509v3 Key Usage: critical >> Digital Signature >> X509v3 Extended Key Usage: critical >> TLS Web Client Authentication >> X509v3 Subject Alternative Name: critical >> DNS:some.host, DNS:another host >> - - - >> How can this be? >> What am I doing wrong? >> >> Axel >> PS: This is still this issue: >> http://article.gmane.org/gmane.comp.db.postgresql.admin/38559 >> — >> PGP-Key:29E99DD6 ☀ +49 151 2300 9283 ☀ computing @ chaos claudius >> >> >> >> -- >> Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgsql-admin > --- > PGP-Key:29E99DD6 ☀ +49 151 2300 9283 ☀ computing @ chaos claudius > > > The CN should be User name of the database from which client is going to login. -- Harshad Adalkonda Database Administrator harshad.adalkonda@shreeyansh.com Office: +919552687400/8400 http://www.shreeyansh.com Twitter <%20> Google Plus <%20> Youtube <%20> Linkedin Instagram <%20> Pintrest <%20> Dribbble <%20> Skype --------------060908010700020600030907 Content-Type: multipart/related; boundary="------------050709000106020406050207" --------------050709000106020406050207 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 23-09-2014 19:21, Axel Rau wrote:
The problem below disappears if I remove client key and cert from ~/.postgresql, just keeping root.crt.
Which subject CN or Subject alternate name should I use with the client cert?
User name or FQDN of client host comes into mind. Docs are unclear in that point.

Axel

Am 18.09.2014 um 22:57 schrieb Axel Rau <Axel.Rau@chaos1.de>:

Hi all,

I’m getting
	psql: SSL error: certificate verify failed 
after renewing server and client certs.
Both certs are validated ok by openssl:
- - -
openssl verify -verbose -CAfile ca_cert.pem -purpose sslserver /usr/local/pgsql/data-l/db1.in.chaos1.de_server_cert.pem
/usr/local/pgsql/data-l/db1.in.chaos1.de_server_cert.pem: OK
- - -
openssl verify -verbose -CAfile ca_cert.pem -purpose sslclient db1.in.chaos1.de_server_cert.pem
db1.in.chaos1.de_server_cert.pem: OK
- - -
x509 extensions of server cert are
- - -
           X509v3 Subject Key Identifier: 
               E2:F8:B9:D0:94:F2:70:BD:BE:84:EE:5C:7B:45:95:47:E4:9F:49:3B
           X509v3 Basic Constraints: critical
               CA:FALSE
           X509v3 Key Usage: critical
               Digital Signature, Key Encipherment
           X509v3 Extended Key Usage: critical
               TLS Web Server Authentication
           X509v3 Subject Alternative Name: critical
               DNS:some.host, DNS:another host
- - -
and of client cert
- - -
           X509v3 Subject Key Identifier: 
               E2:F8:B9:D0:94:F2:70:BD:BE:84:EE:5C:7B:45:95:47:E4:9F:49:3B
           X509v3 Basic Constraints: critical
               CA:FALSE
           X509v3 Key Usage: critical
               Digital Signature
           X509v3 Extended Key Usage: critical
               TLS Web Client Authentication
           X509v3 Subject Alternative Name: critical
               DNS:some.host, DNS:another host
- - -
How can this be?
What am I doing wrong?

Axel
PS: This is still this issue:
	http://article.gmane.org/gmane.comp.db.postgresql.admin/38559
—
PGP-Key:29E99DD6  ☀ +49 151 2300 9283  ☀ computing @ chaos claudius



-- 
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
---
PGP-Key:29E99DD6  ☀ +49 151 2300 9283  ☀ computing @ chaos claudius



The CN should be User name of the database from which client is going to login.
--

Harshad Adalkonda 
Database Administrator

Office: +919552687400/8400
http://www.shreeyansh.com

--------------050709000106020406050207 Content-Type: image/png Content-Transfer-Encoding: base64 Content-ID: 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 --------------050709000106020406050207 Content-Type: image/png; name="twitter-2.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="twitter-2.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwY AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjFJREFUeNqUk01oE0EU x/+TnTRfG7IJJoFi7UKlB4sS8WAFFdSzhxyUehMPgnjz7lkvgmfxohcVlYAIIgoV8WZTL5ZI qRg1xGZtujUfmmR3ZpyZNIFaAvHB25mdfb83/3nzluy9+iiXSpqFVDJmm2YY41ir1cGm2y5v uq08TVrRwrWzOXs2kwAhZKwEQgisOr/sW8+WCzQRD9tdRvG0tAUmP4xjhtxo1goiZUVtGp6g WPnZgfPHGwkcyEQwbYXw9ksTbY/pNU+OQSMAyhhDq+PLBY50jOLoPhOLnxto97gOnMtGcP3U pJ5zzvFcKtV1ID4UG+DywXyGrvSK28bJ6SjunZ/BlfkMggGBcwdTQyUXj6Rx3DZ1rGIUS7mc +GpBSyNSTf8oZ/YnMC/VxCaMHce5kNuDTJTizeoWFNtXwAR8xrXff18bBv8LK8uaQZyeiSFE hFYQUJDB+5KUf/jexJNiZWRB363VsXC3CLfV0xvKBEqGwDEpVx2DMYIXH+sjEzxedoBAVDOK pTqLvP9vGw08uDSH9YaHw1PxXWBT1ub2qzUsfW3qd8UolrJtBSu1LhbuLOHyiSlk4xSTVkQH Vt3fWPxUw8Oig/UmHyZUDBsoMCDQkWNHyr/5uoIbL8uyX/u3AhIAMejubsRAgSwc/B7isquc rj/Iv+2q8aX7fAecCVHNMM8HFZ5frrmOfchKw7DMsf4FJuGq60D4rEwJY/lSdaNQ+lG38T8m RJlwnv8rwACiNSog+2hw0wAAAABJRU5ErkJggg== --------------050709000106020406050207 Content-Type: image/png; name="google-plus.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="google-plus.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9i ZSBJbWFnZVJlYWR5ccllPAAAAlBJREFUeNqUU0toE1EUPW/yZjKdSUhialvbgqOt+FkFET/1 AyJulIJVRLoR1IWiBVfiQlyJH/CzECnYRVwI3fgJxoWLIkJRFBNDcaWtmEixoaWNQc04mU/G lzfRGqKlXji8O/fde965d94jD6LRWESREmFF0lS/iMVYqWyhqJu5L7rZR0Y62rIbjh/V5Nh6 EEFYFIFbqcAYyyB9O56jquTTSKkEI3Ef/2OkpRUhmWrULxC4hQLEnu0Q1EBDYvnlCzjZD9yP Pn6Kud5d3kZhDj62COK6NQjdGASRFYBB7t2Ppv7DEDf2wJ6agj0xDteucHD5Nd9lc7BtB5RE wtAf3kPp7h3vxOejCF+/CdrVDYsVV1hSy8job0XNT57xdWb3DlhOBYLDmMzMG8bqcJSZXyWp mn/zNh6b3rmVo2q//GrcYUoE27RA1OC8NAZrfKI2bbcuXtcC+7S5AtOEcvBQXSJRVa+ddLou nt+yaZ7MJ9YIWAtSLIbQufN8iL6VXWjasxffhoZgpFJ8Bn8DKCNg94HOZt6i9CgJ2tGO1mQS QjCI4tVr+D48vPBlopKnwCqb+BqPY+bIMVjv3nu7vHdnQUCsKbBZMhgb7V4F13V5ffjsGZCA iuKtwX9LqCpgtVReEkHo0gUIswUYr17DnvyMwIF9CJ06yf9O4eLlhlpfOAyTCNCZApLQtGzb 8hXasvZO+Kn3GqW1qxE5PQCiKJg+MQBX/1F/vW0Lk7mPGEuncuSKKMZkFwk/iPZnUjAYQGfz UnzK56EbRuMbgZszCPp+CjAAtrFRVuHPe0AAAAAASUVORK5CYII= --------------050709000106020406050207 Content-Type: image/png; name="youtube.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="youtube.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwY AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAk5JREFUeNqck81rE1EU xc+bj6SZzMS0VkSiEhradFEhxXZlY4JQXLkouBHBTQX1HxB1JeJWdCVSxFghYFFasNiFgkUC xUVtkVabRCHBWky0TQaSZvIxH743bSLdSOqFy51zOb/HPM4MuReLhw51dc10d3r9iuxGO1Uq b2OzqGZ/FwpjJDb9OnPuTNjvVdqDm6WWtjH7LpHlDiiynyMERbo4OzqK5U8r9mT6X82Yg/St +UuXr9ymD9ANE/lcDguJBAaHhvDl8yoeP3oIrVrF+/l5yB4PXk49x0Bo0PbqhoFfWwVw7KGh 69Bpj0Si+PY1jVOno0itreH8hYtYXlzEj/XvKJfL9tR3vTZDWcHQDbow7HsFeoMQHSKO+I5C EEW4JLc9WVkWIIqOlpcVYwV2UsP4u3RQE9Oy4sFU/Bl6Ar3QNA2vpl+gwyXt8TKWxGffWCf6 +/A/tZJMg7wdiVgnzRIstb4vmHgd+Mgp4Dq28lS4IN26ic4PC/BMPgUEodWeydge3WzGMFaw BB5ElqA9uA+hP4jStauQblyHkU6D76NXo3m7796BvrQEMRIBpyjQJiZgqhlYggrO5Hhwbmnn ZGpmUwgGwft89mQ7K5+3tSMatbU4PGwzjBXqNB7DSeNhRso3p0EnT3bjIqR198rcHMzcT4Ay jOUqtTqKNOSKLMIwLZQbdVSSSYjhsK1Z86EQqqqKWioFaXwcNcW5w1CWxHsCmcMDx/w+Xzec PNdWAjX6KW9sbCK/up4lT477Q6ZlzdAD/fuKkSBLf6ixPwIMAEV5G5GgwH65AAAAAElFTkSu QmCC --------------050709000106020406050207 Content-Type: image/png; name="linkedin.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="linkedin.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwY AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgRJREFUeNqUUs9r1EAU /jKZ7I+2abBZVikKoYhCsbB/gXcFwV7Eu3jwInjyogdBj3oSPHm14KGhBwuC/gkKUqtVSglY arduKutu2c1mMuO82dqk1YX6YJL35r3vez/mWbWbCw3fd0PfnwjciQqOI51uH3HcjeK4M8+n ToyHd640gnP1SViWdSwCpRS+7vwKniy9D7k3WQl2+xYWv7Sx2epgxmMmaKMtcbrmjiSZrjL4 U+MBr5RsfGwlEJr1jGvh8dXzJuD24hqa3cFIgt09C1zn4kJk6KViWBovlgmk2jdKUn0Iyyko SYeBbzbbuPXyk9GXVluoudVDINtmqHtjOvNwVoTlmf5k+5mo+2fXZo3+4u5bbD24aPSVrQ7m pl20ewL3ltfxORaGhHCMylBCakNCSfXPcglM4lU5Hl4+i+bPPYMhLJNCoKQbNkQqJ2CFF114 9x33X60fkIhMGgxhGZXBiUDPwS5kHXPyiT56HSH88COfhT6EMViZZXCMIeEUFsktOQe6c2TB yCYMYfmAWPRlov92kaCcV2AfISCbvIRlqWYpQaGv+5KFxp1yXgHdF32kE4awVv3Gc3XpwizW egp6e1Fy7L9eYbC/J398tO0zXGJ5ZVW3kKTRt53tYO7kKXCnPGLvnEOWSBNsNLeRDkRkedef NsBYqN8twP+IVBGknP8twABFyPH3kUzF5AAAAABJRU5ErkJggg== --------------050709000106020406050207 Content-Type: image/png; name="instagram.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="instagram.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9i ZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu MC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9w IENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTU5MEY5MTJGOEY5 MTFFMDkxMjZBOEUwREQzQTdFNzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTU5MEY5 MTNGOEY5MTFFMDkxMjZBOEUwREQzQTdFNzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6 aW5zdGFuY2VJRD0ieG1wLmlpZDoxNTkwRjkxMEY4RjkxMUUwOTEyNkE4RTBERDNBN0U3MiIg c3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxNTkwRjkxMUY4RjkxMUUwOTEyNkE4RTBERDNB N0U3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94 cGFja2V0IGVuZD0iciI/PlQNeQgAAAKUSURBVHjalJPdSxRRGMafmZ2dndnPcV20QnT8SlsJ ttAgyj/Ai6Sliy6KoGsJie4CocxuIlIvBC/Df0Cpi+girBuhdqNtd0Ep0NVFykp32/ncsZ1p znG1CyvqhTNnZt7398x7njOHGTguJ2zHnm8JijIbEWGCwbYmoFbaxF+DQYFl2CRzLt65NjSc lAfbjoKXJWyDxerXKFp59c+w4yD/PoNnT+YLnI/3ytr3ElYW82B7/FhjvMitt0IoLh3iFtNZ MF4eIdGHyxeGQFgigK3NIk7CgtQg4hPHwvkSg18UDn+YYREOhbFbNShDWE7wchDcm3hHJ6J9 AVhcEPKxfpzpGoQUjVKwvLOD5wsLWHqXg6GrCPAeyhCW83k92P62hRnDRDVvoy+RwKWrEqZn 56CYDDKvX6G3uwMT47ehKhVk36apKGEIy8yOjzjXRsdwZfgiTUxMPsTkzGOwfASaoUDVFZia isaAgKlH9xEMhQ62YW76HjjbrqG4lkfNdVbXDTTGYki9SaGtpxfLyx8RCEfQfaIdmxtF2LaN jdXcHu76QVjOcS8MHDyYuvNri1mWDk4QIDXFEHCNC4ekupO1uoBLUYEaeeHQBxK6rtE1l9y2 +8+eBs/5AHMX8pFmmtuvA+sBYVnSBssQDZuODys5aliTFES5uIXy+mcE3fTojes0t19HGLoE 2/6x11l99vts5LMp3B27Bb8/WO9KRTaTQjTCH9SRIKzrgatG5OprizW4LjtlvHzxFKZp0XeC wKOrvaWe26sjDGE5q2pBUxTwPIfarlUXCbsj/pszYNPJ4/7OhDF0E1ylVCmsZNJy/NQAQlIz /iWUsnt2MmloFbXA3EyeT4gBYd4n8jL+I6qGVTA0M/lTgAEAhKYgXuxH7uIAAAAASUVORK5C YII= --------------050709000106020406050207 Content-Type: image/png; name="pinterest.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="pinterest.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9i ZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu MC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpS REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9w IENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjhCMDA3QTVGOEY5 MTFFMDkxMjZBOEUwREQzQTdFNzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjhCMDA3 QTZGOEY5MTFFMDkxMjZBOEUwREQzQTdFNzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6 aW5zdGFuY2VJRD0ieG1wLmlpZDoyOEIwMDdBM0Y4RjkxMUUwOTEyNkE4RTBERDNBN0U3MiIg c3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyOEIwMDdBNEY4RjkxMUUwOTEyNkE4RTBERDNB N0U3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94 cGFja2V0IGVuZD0iciI/Pvt2cjcAAAKmSURBVHjajFNNSFRRFP7mzZufN88Zf3BGZ0ScNNKs BgMrhMKoRYuisGwT2iZoY5SLqE27IqJFLXJZUIvARSEVQQamURhGJriQ/KmGdDT/0nGcefNm 3n2ve8/ERJDghQf3fOd83/3OfefanpaWNqg+pcfjc4ddihObWbqWQWotHU2uaS22l+GK73Un Dod9Tc2QCos3JWDGV7D24S2+POuLyk5FDluKipWh95RkloVfmo7lpMb3Zp7kU9zwe9xw2+0U S5zjVh1hWeJxdnEelsmQZSZiDAgfPYk9x1vhUAvyArP8gPHuR/AtzsHjkGETRJsF2TAYzIxO RStuL5pv3IUnUI7s0jwWe58Trm7fhdC+/fDvbMCnm9egTE/BggHBJQErayBtmKi/fIXIywOv MXj7OtKMobLAA69TRuBUG/ytbYhcvIqxjrPchZ0EJEYCDN6qLfBHdiOz8BM/7nfhwL0HON07 iJLGJsovvXiSc1MWROmOCGGCKxks50B2KVSw+uYVCquqUVSzjeKiLTWUN1bjWB0dIcz641pw ZcatW4bBr5/lBNIZDrL85aUmJyifNU04AmU5UBzKMcGVxM0LNT0Wo1zFkWPUm1iZRALxd/2U T/pKoJaHcoPEawUmuJJJAgz6zAxiXXfg9nqRdebaSc7FMJ1I4Vt8HZXt5wjTpiaoVnAE1/aw SLUi9bX/TFphRyeqz7TTfqa/D2qoAsW1dRRPXjiP9ZFh2o+OjYt2hYO/Eyd6LTt4KHcfA/0I Nu6FnbsS+4Xux1j/PJyvFVw5wyykuE3F5SLQEQzSiZnZWXztvLThe9B0HTrnSmlmRWfmF7iI BktnUANBKkgMfaT4f5+oFRwuELXdcjobHECPzJ8ADYqiYGsohEnuIKVpGzrgPz6aBVp+CzAA hjZo/pe08IQAAAAASUVORK5CYII= --------------050709000106020406050207 Content-Type: image/png; name="dribbble.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="dribbble.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwY AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwZJREFUeNqUk11v22QY hi87b5o0TUL6CWNNMWthWhmjdKODDZgQH6IcAJU46NnGDpE44xfwJ+CUIxCaFLWaVgkmbUIC MYooW0o7OtplbdKQJo2TOHXi2LF57aJxwAm80iPLr57rfj58W/nm48+m+hPxzCN9Ma2vN8J/ OQcti/qBmdON5pxIRXszJ2df0MTRAVAOExzHptloPATiySRChP9R8GROoaplF3/MiGRPWPPv rF+2sMwW3y1dJ/fHvX9V1Sae4tXZN4hEo6AqhB5N0R+NaKJXVXF292mXdBa+uoLRNEgODwZJ cx9dIpqMs76S5daVJTKff8F78x/QE4ngdbv0SGHVsxxc0+Lbq9dwwwoXP/2Edy7P06rVWf76 Gp31HdLhBE9MTlCv14I8z7YDxmeF/6JXyuzLePvDedgq469yZvY1bl29TkLOf3d9DVtWPPv+ W6ws3aCYL3Dk2FggJFy7S2m3QCyVINlR2Cv9ScfuoNcqiEiY23dWGJ+Z4syF85CvUjiWplwq 8djYUXxWeB0HJaLgOl0WFxYeLm1kfIynX5pm6+csiXCEH75cJCW7cQyTfccLduCzQvZGSKgM Pj7CqZdfZES2ZukNfv9tjY2ffiXUI9jO5UgdGaHWass9qSQG+/FcF4IObId4f4rm7TWiO3Ua O1mW763Sdh1m3n2T4l35eXWD09pxHOmTG5WbJMO90gouPitH6DI0MESkL8ZGPofRNhGpOBfO nUXdLOOEY6w28thFnfuVImooxGh6FM+TY0hW9VUUs8PkqZOUDB3Ttpiefh7u5HEPLPpcQUhC uXKRB9USz5yegtKhS31WCnRRFI/hdojnXj8nK6gs3/yeB7W9IKqOGdxtN8pMnj/DkCEr/834 T2HJTQZmsjqktixekXbdKe5iVKo0KjpJIRg9McGTmoaysYdTO0BNRgPGtKQP9LaVG96samJ8 ACUqoN1hIp0m9OwJFBE6/LkqddxmC8ZSCBle28HelAWsTk4Ytj23kd3OxFYLGv/jmF43Z3jd ub8EGAAy8YOoHR2VAwAAAABJRU5ErkJggg== --------------050709000106020406050207 Content-Type: image/png; name="skype.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="skype.png" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwY AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAq1JREFUeNqMk0trE1EU x/935s4kk1czbVpfWEctRaFiKZiCUCjqooggxZ0KfgC/QcVF1/oRBLsRXQjxgSu7qAsFpYuW oliLTaSNUJvQvJvceVzPndBSF0KHOTPD5fz+55z/vcNmXi2OZuKRHIWTiho4zFVruyg1OwWK aW7HzNz1kUEnk4pD0xh2fQm6keDsvwJBIFGqNZ23K79yPBWNOJJH8K3q4VPVhfABjwQCSuSM QUiJXkNDNsVhHxDlxNgxy+GmYaDuMbwvd9Ck0gpOcg2Xeo3wW0Wx7ePhzxZuDZgYT/JQgJG4 ruvgLrXzmxL24ITOMHM+jpj+7wg3jkVwb6kOUM5YQg/XFKu5gfroVhL0nsjwEF4stzA1v447 Hzew0XIxHNcxngKebAnsMSo0EQSwqFggyUBaGDBl1yh6nemz8aXOcHm+gNmv23i52cAmVVmq tMmrAIrlqqpqNkqPbaKerlcw1hdDNtMNwMbrYh0vim209Cg6lL/ZEhhOmGHHmppDVeuQ221a WG4ZmFrIYy6/g4raErpunkjiebYfV9OgHImK1ENm34OAYItcVQKTGQN3HRsPVko4+S6PoTc/ sLDVCIXuD0ZD8ENdhoxiudpnNfVZk+FzQ+IKmTh5JIGRnggerdWxQ1lpo+t6peOFB2SruUuM FZ4RrlSUgElx0fDx+HsNo7YVxrOstb+NapzZVeokiIJJP2S6HVBPUs1Dj3MWx05TwzVyfaKX I22qygwVypwreqgYSWgywAUuQkaxXPg+dl0POtMgKMb7e3CqWsdaTWBV7EKQwLLQ0NFMpDpV jBgebp8+GjLC82gEVxTWyjVnqC8F2+oe0+NWGmMHTqFH+91oC3A9gUTERItgYuB6boEHnjtd +FPK5ctVR2r6oX5nRmMwTxSY707/FWAAwixkevHIXSQAAAAASUVORK5CYII= --------------050709000106020406050207-- --------------060908010700020600030907--