Document source for included code in VNC server
[invirt/packages/invirt-vnc-client.git] / debian / invirt-update-vnc-cert
1 #!/usr/bin/python
2
3 from invirt.config import structs as config
4 from subprocess import Popen, call, PIPE
5 import tempfile
6 import os
7 import sys
8 import shutil
9
10 def main():
11     call(['kinit', '-k', 'daemon/%s' % config.web.hostname])
12     
13     temp_dir = tempfile.mkdtemp()
14     keystore = os.path.join(temp_dir, 'trust.store')
15     for host in config.hosts:
16         cert = Popen(['remctl', config.remote.hostname, 'web', 'vnccert', host.hostname],
17                      stdout=PIPE)
18         cert.wait()
19         call(['keytool', '-import', '-noprompt', '-alias', host.hostname,
20               '-keystore', keystore, '-storepass', 'foobar'],
21              stdin=cert.stdout)
22     
23     call(['jar', 'uf', '/usr/share/invirt-vnc-client/VncViewer.jar',
24           '-C', temp_dir, 'trust.store'])
25     
26     shutil.rmtree(temp_dir)
27
28 if __name__ == '__main__':
29     sys.exit(main())