1#!/usr/bin/python 2 3# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6 7import sys 8 9import common 10from autotest_lib.client.cros.networking import shill_proxy 11 12def usage(): 13 """ Print a usage message for this script. """ 14 cmd = sys.argv[0] 15 common_args = ['<certificate>', '<public_key>', '<nonce>', 16 '<signed_data>', '<destination_udn>', 17 '<hotspot_ssid>', '<hotspot_bssid>'] 18 print cmd, 'encrypt', ' '.join(common_args) 19 print cmd, 'verify', ' '.join(common_args), '<data to encrypt>' 20 return False 21 22 23def main(args): 24 """ Call methods related to destinations. 25 26 @param args arguments to the script, not including the script name. 27 28 """ 29 NUM_VERIFY_ARGS = 7 30 NUM_ENCRYPT_ARGS = NUM_VERIFY_ARGS + 1 31 if len(args) < 1: 32 return usage() 33 command = args[0] 34 args = args[1:] 35 shill = shill_proxy.ShillProxy() 36 if command == 'verify': 37 if len(args) < NUM_VERIFY_ARGS: 38 return usage() 39 40 if shill.manager.VerifyDestination(*args[0:NUM_VERIFY_ARGS]): 41 print 'Valid destination' 42 return True 43 44 if command == 'encrypt': 45 if len(args) < NUM_ENCRYPT_ARGS: 46 return usage() 47 48 print shill.manager.VerifyAndEncryptData(*args[0:NUM_ENCRYPT_ARGS]) 49 return True 50 51 return usage() 52 53 54if __name__ == '__main__': 55 if not main(sys.argv[1:]): 56 sys.exit(1) 57