# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

scenario AIA

entity Root
  type Root

entity CA1
  type Intermediate
  issuer Root

entity CA2
  type Intermediate
  issuer CA1
    aia CA1:Root

entity User
  type EE
  issuer CA2

testdb User

verify User:CA2
  cert CA2:CA1
  trust Root:
  result fail

verify User:CA2
  cert CA2:CA1
  trust Root:
  fetch
  result pass

