1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 AUTHOR = "ChromeOS Team" 6 NAME = "firmware_VbootCrypto" 7 PURPOSE = """ 8 Verifies Firmware Verified Boot Reference Implementation, its components, and 9 crypto performance. 10 """ 11 CRITERIA = """ 12 This test is a benchmark. 13 14 Errors in any of the following tests will cause a failure: 15 - _sha_test() 16 - _rsa_test() 17 - _image_verification_test() 18 - _rollback_tests() 19 - _splicing_tests() 20 """ 21 TIME = "LONG" 22 TEST_CATEGORY = "Functional" 23 TEST_CLASS = "firmware" 24 TEST_TYPE = "client" 25 26 DOC = """ 27 This test implements various RSA and SHA by creating and verifying various 28 keys and hashes. It will generate public key signatures using sha1, sha256, 29 and sha512 algorithms with key lengths of 1024, 2048, 4096, and 8192. RSA 30 padding tests will then be run to verify them. Tests are also run to verify 31 the correctness of firmware and kernel image verification. 32 """ 33 34 test_suites = [ 35 'crypto', # RSA Signature Verification and SHA* Correctness. 36 'verification', # Firmware and Kernel Image Verification. 37 'benchmarks', # Crypto and Image Verification benchmarks. 38 'rollback', # Firmware/Kernel Rollback Prevention. 39 'splicing', # Image Splicing Attack. 40 ] 41 for suite in test_suites: 42 job.run_test('firmware_VbootCrypto', suite=suite, tag=suite) 43