# 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 Revocation

entity Root
  type Root
  serial 10

entity CA0
  type Intermediate
  issuer Root
  serial 11

entity CA1
  type Intermediate
  issuer CA0
  serial 12

entity EE11
  type EE
  issuer CA1
  serial 13

entity EE12
  type EE
  issuer CA1
  serial 14

entity CA2
  type Intermediate
  issuer CA0
  serial 15

entity EE21
  type EE
  issuer CA2
  serial 16

crl Root
crl CA0
crl CA1
crl CA2

revoke CA1
  serial 14

revoke CA0
  serial 15

db All

import Root::CTu,CTu,CTu
import CA0:Root:
import CA1:CA0:
import CA2:CA0:

# EE11 - not revoked 
verify EE11:CA1
  trust Root:
  rev_type leaf
  rev_mtype crl
  result pass

# EE12 - revoked
verify EE12:CA1
  trust Root:
  rev_type leaf
  rev_mtype crl
  result fail

# EE11 - CA1 not revoked 
verify EE11:CA1
  trust Root:
  rev_type chain
  rev_mtype crl
  result pass

# EE21 - CA2 revoked
verify EE21:CA2
  trust Root:
  rev_type chain
  rev_mtype crl
  result fail

