<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri, sans-serif" size="2">
<div>Hi,</div>
<div>First of all, sorry for this very long mail...</div>
<div> </div>
<div>I’m trying to setup boxbackup to use for internal backups here at work. I have several servers and clients, and the plan is to have them all backed up on this backup server.</div>
<div> </div>
<div>Installation and having the client find/connect to the server works fine, but when it comes to the certificates something goes wrong.</div>
<div>I'm mailing the list now since I just can’t figure out what is wrong. I've tried the script to create the certificates, created them myself and tried everything else I could come up with, without success.
<br>

I still get an error saying "SSL error while accepting connection: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca"</div>
<div> </div>
<div>This is what I do.</div>
<div> </div>
<div>1. Created a directory /certificates to do all the certificate thing in..</div>
<div>2. Create root certificates and setup CA by use of bbstored-certs ca init</div>
<div><i><b>Output:</b></i></div>
<div><i>Generating RSA private key, 2048 bit long modulus</i></div>
<div><i>............................+++</i></div>
<div><i>........................+++</i></div>
<div><i>e is 65537 (0x10001)</i></div>
<div><i>You are about to be asked to enter information that will be incorporated</i></div>
<div><i>into your certificate request.</i></div>
<div><i>What you are about to enter is what is called a Distinguished Name or a DN.</i></div>
<div><i>There are quite a few fields but you can leave some blank</i></div>
<div><i>For some fields there will be a default value,</i></div>
<div><i>If you enter '.', the field will be left blank.</i></div>
<div><i>-----</i></div>
<div><i>Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, YOUR name) []:Email Address
[]:</i></div>
<div><i>Please enter the following 'extra' attributes</i></div>
<div><i>to be sent with your certificate request</i></div>
<div><i>A challenge password []:An optional company name []:</i></div>
<div> </div>
<div><i>Signature ok</i></div>
<div><i>subject=/CN=Backup system client root</i></div>
<div><i>Getting Private key</i></div>
<div><i>Generating RSA private key, 2048 bit long modulus</i></div>
<div><i>.......................+++</i></div>
<div><i>.........+++</i></div>
<div><i>e is 65537 (0x10001)</i></div>
<div><i>You are about to be asked to enter information that will be incorporated</i></div>
<div><i>into your certificate request.</i></div>
<div><i>What you are about to enter is what is called a Distinguished Name or a DN.</i></div>
<div><i>There are quite a few fields but you can leave some blank</i></div>
<div><i>For some fields there will be a default value,</i></div>
<div><i>If you enter '.', the field will be left blank.</i></div>
<div><i>-----</i></div>
<div><i>Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, YOUR name) []:Email Address
[]:</i></div>
<div><i>Please enter the following 'extra' attributes</i></div>
<div><i>to be sent with your certificate request</i></div>
<div><i>A challenge password []:An optional company name []:</i></div>
<div> </div>
<div><i>Signature ok</i></div>
<div><i>subject=/CN=Backup system server root</i></div>
<div><i>Getting Private key</i></div>
<div> </div>
<div>3. Copy /certificates/ca/keys/serverRootKey.pem and /certificates/ca/keys/serverRootCSR.pem to /certificates</div>
<div>4. Sign certificate using bbstored-certs ca sign-server serverRootCSR.pem</div>
<div><i><b>Output:</b></i></div>
<div> </div>
<div><i>This certificate is for backup server</i></div>
<div> </div>
<div><i>   Backup</i></div>
<div> </div>
<div><i>Signing the wrong certificate compromises the security of your backup system.</i></div>
<div> </div>
<div><i>Would you like to sign this certificate? (type 'yes' to confirm)</i></div>
<div><i>yes</i></div>
<div><i>Signature ok</i></div>
<div><i>subject=/CN=Backup system server root</i></div>
<div><i>Getting CA Private Key</i></div>
<div> </div>
<div> </div>
<div><i>Certificate signed.</i></div>
<div> </div>
<div><i>Install the files</i></div>
<div> </div>
<div><i>   ca/servers/Backup-cert.pem</i></div>
<div><i>   ca/roots/clientCA.pem</i></div>
<div> </div>
<div><i>on the server.</i></div>
<div> </div>
<div>5. copy and rename Backup-cert.pem to /etc/boxbackup/bbstored/bkSrv.crt.pem</div>
<div>6. copy clientCA.pem to /etc/boxbackup/bbstored/clientCA.pem</div>
<div>7. copy and rename serverRootKey.pem to /etc/boxbackup/bbstored/bkSrv.key.pem</div>
<div>8. Edit /etc/boxbackup/bbstored.conf and change the certificate paths there to the ones above (5-7)</div>
<div>9. On client server, issue key file and csr using the following command</div>
<div>        bbackupd-config /etc/boxbackup lazy 75AB23C bkSrv.westint.local /var/bbackupd /var/bbackupd/</div>
<div>        <i>This creates the client certificate csr I need as well as sets up the bbackupd.conf for me</i></div>
<div>10. Send off csr to bkSrv for signing.</div>
<div>11. Sign westsrv2.csr.pem using: bbstored-certs ca sign 75AB23C-csr.pem</div>
<div>12. Getting back 75AB23C-cert.pem and serverCA.pem from bkSrv and copies them to /etc/boxbackup/bbackupd/</div>
<div>13. Making sure that everything in bbackupd.conf looks fine.</div>
<div>14. Starting the server on bkSrv by issuing bbstored -V -D (to get as much debug info as possible)</div>
<div>15. Starting the client on westsrv2 by issuing bbackupd -V -D</div>
<div> </div>
<div><i><b>Error on client:</b></i></div>
<div><i>NOTICE:  Starting daemon, version: 0.11rc2+2502</i></div>
<div><i>NOTICE:  Using configuration file: /etc/boxbackup/bbackupd.conf</i></div>
<div><i>TRACE:   BackupDaemon::NotifySysadmin() called, event = backup-start</i></div>
<div><i>INFO:    About to notify administrator about event backup-start, running script '/etc/boxbackup/bbackupd/NotifySysadmin.sh backup-start'</i></div>
<div><i>NOTICE:  Beginning scan of local files</i></div>
<div><i>TRACE:   Set maximum diffing time to 120 seconds</i></div>
<div><i>TRACE:   Set keep-alive time to 120 seconds</i></div>
<div><i>TRACE:   timer: next event: KeepAliveTime expires in 119.999993 seconds</i></div>
<div><i>TRACE:   timer: next event: KeepAliveTime expires in 119.999965 seconds</i></div>
<div><i>TRACE:   timer: next event: KeepAliveTime expires in 119.999947 seconds</i></div>
<div><i>TRACE:   timer: next event: KeepAliveTime expires in 119.999931 seconds</i></div>
<div><i>INFO:    Opening connection to server 'bkSrv.westint.local'...</i></div>
<div><i>ERROR:   SSL error while connecting: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed</i></div>
<div><i>TRACE:   Obtained 10 stack frames.</i></div>
<div><i>TRACE:   Stack frame 0: bbackupd(DumpStackBacktrace()+0x26) [0x4c87c6]</i></div>
<div><i>TRACE:   Stack frame 1: bbackupd(SocketStreamTLS::Handshake(TLSContext const&, bool)+0x718) [0x498eb8]</i></div>
<div><i>TRACE:   Stack frame 2: bbackupd(SocketStreamTLS::Open(TLSContext const&, Socket::Type, std::string const&, int)+0x2e) [0x4995ce]</i></div>
<div><i>TRACE:   Stack frame 3: bbackupd(BackupClientContext::GetConnection()+0x33f) [0x4250af]</i></div>
<div><i>TRACE:   Stack frame 4: bbackupd(BackupDaemon::SetupLocations(BackupClientContext&, Configuration const&)+0xae) [0x435c9e]</i></div>
<div><i>TRACE:   Stack frame 5: bbackupd(BackupDaemon::RunSyncNow()+0xf16) [0x43e576]</i></div>
<div><i>TRACE:   Stack frame 6: bbackupd(BackupDaemon::RunSyncNowWithExceptionHandling()+0x35) [0x43f235]</i></div>
<div><i>TRACE:   Stack frame 7: bbackupd(BackupDaemon::Run2()+0x27b) [0x440deb]</i></div>
<div><i>TRACE:   Stack frame 8: bbackupd(BackupDaemon::Run()+0x270) [0x4411b0]</i></div>
<div><i>TRACE:   Stack frame 9: bbackupd(Daemon::Main(std::string const&)+0x1402) [0x4812e2]</i></div>
<div><i>WARNING: Exception thrown: ConnectionException(Conn_TLSHandshakeFailed) at SocketStreamTLS.cpp(212)</i></div>
<div><i>TRACE:   timer: no more events, going to sleep.</i></div>
<div><i>TRACE:   BackupDaemon::NotifySysadmin() called, event = backup-error</i></div>
<div><i>INFO:    About to notify administrator about event backup-error, running script '/etc/boxbackup/bbackupd/NotifySysadmin.sh backup-error'</i></div>
<div> </div>
<div><i><b>Error on Server:</b></i></div>
<div><i>NOTICE:  Starting daemon, version: 0.11rc8+2714</i></div>
<div><i>NOTICE:  Using configuration file: /etc/boxbackup/bbstored.conf</i></div>
<div><i>INFO:    Starting housekeeping</i></div>
<div><i>INFO:    Finished housekeeping</i></div>
<div><i>ERROR:   SSL error while accepting connection: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca</i></div>
<div><i>TRACE:   Obtained 10 stack frames.</i></div>
<div><i>TRACE:   Stack frame 0: bbstored(DumpStackBacktrace()+0x23) [0x52bb83]</i></div>
<div><i>TRACE:   Stack frame 1: bbstored(SocketStreamTLS::Handshake(TLSContext const&, bool)+0x64d) [0x4ec19d]</i></div>
<div><i>TRACE:   Stack frame 2: bbstored(ServerTLS<2201, 128, true>::HandleConnection(SocketStreamTLS&)+0x25) [0x43b305]</i></div>
<div><i>TRACE:   Stack frame 3: bbstored(ServerStream<SocketStreamTLS, 2201, 128, true>::Run2(bool&)+0x94e) [0x442c2e]</i></div>
<div><i>TRACE:   Stack frame 4: bbstored(ServerTLS<2201, 128, true>::Run2(bool&)+0x139) [0x4450c9]</i></div>
<div><i>TRACE:   Stack frame 5: bbstored(BackupStoreDaemon::Run()+0x3ea) [0x439b0a]</i></div>
<div><i>TRACE:   Stack frame 6: bbstored(Daemon::Main(std::string const&)+0x2029) [0x4c5039]</i></div>
<div><i>TRACE:   Stack frame 7: bbstored(Daemon::Main(char const*, int, char const**)+0x464) [0x4c15a4]</i></div>
<div><i>TRACE:   Stack frame 8: bbstored(main+0x90) [0x45a8a0]</i></div>
<div><i>TRACE:   Stack frame 9: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7fa888517eff]</i></div>
<div><i>WARNING: Exception thrown: ConnectionException(Conn_TLSHandshakeFailed) at SocketStreamTLS.cpp(207)</i></div>
<div><i>FATAL:   Terminating due to exception Connection TLSHandshakeFailed (7/30)</i></div>
<div> </div>
<div>I've tried everything now... using the pre-defined scripts as of above, made my own scripts etc... but I just can’t figure out why it doesn’t work.</div>
<div>Probably it’s me doing something wrong, but what??</div>
<div>It can’t be so that bkSrv needs a real certificate from VeriSign or a company like that, right?</div>
<div> </div>
<div>Thanks in advance!</div>
<div> </div>
<div>Tomas</div>
<div> </div>
</font>
</body>
</html>