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
5AUTHOR = "ChromeOS Team"
6NAME = "firmware_VbootCrypto"
7PURPOSE = """
8Verifies Firmware Verified Boot Reference Implementation, its components, and
9crypto performance.
10"""
11CRITERIA = """
12This test is a benchmark.
13
14Errors 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"""
21TIME = "LONG"
22TEST_CATEGORY = "Functional"
23TEST_CLASS = "firmware"
24TEST_TYPE = "client"
25
26DOC = """
27This test implements various RSA and SHA by creating and verifying various
28keys and hashes. It will generate public key signatures using sha1, sha256,
29and sha512 algorithms with key lengths of 1024, 2048, 4096, and 8192. RSA
30padding tests will then be run to verify them. Tests are also run to verify
31the correctness of firmware and kernel image verification.
32"""
33
34test_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]
41for suite in test_suites:
42  job.run_test('firmware_VbootCrypto', suite=suite, tag=suite)
43