Files
EWF/library/crypto/eel/x509/tbs_certificate.e
jvelilla c9343688f3 Added eel and eapml in EWF libraries.
Removed them from gitmodule
2011-10-27 08:29:01 -03:00

73 lines
1.6 KiB
Plaintext

note
description: "x509v3 TBSCertificate sequence"
author: "Colin LeMahieu"
date: "$Date$"
revision: "$Revision$"
quote: "Democracy is a pathetic belief in the collective wisdom of individual ignorance. - H.L. Mencken"
class
TBS_CERTIFICATE
inherit
DER_ENCODABLE
create
make
feature
make ( version_a: INTEGER_32 serial_number_a: INTEGER_X signature_a: ALGORITHM_IDENTIFIER issuer_a: NAME validity_a: VALIDITY
subject_a: NAME subject_public_key_info_a: SUBJECT_PUBLIC_KEY_INFO issuer_unique_id_a: SPECIAL [NATURAL_8]
subject_unique_id_a: SPECIAL [NATURAL_8] extensions_a: LIST [EXTENSION])
require
do
version := version_a
serial_number := serial_number_a
signature := signature_a
issuer := issuer_a
validity := validity_a
subject := subject_a
subject_public_key_info := subject_public_key_info_a
issuer_unique_id := issuer_unique_id_a
subject_unique_id := subject_unique_id_a
extensions := extensions_a
end
feature
der_encode (target: DER_OCTET_SINK)
do
end
feature
version: INTEGER_32
serial_number: INTEGER_X
signature: ALGORITHM_IDENTIFIER
issuer: NAME
validity: VALIDITY
subject: NAME
subject_public_key_info: SUBJECT_PUBLIC_KEY_INFO
issuer_unique_id: SPECIAL [NATURAL_8]
subject_unique_id: SPECIAL [NATURAL_8]
extensions: LIST [EXTENSION]
feature
valid_version (in: INTEGER_32): BOOLEAN
do
result := in = 2
ensure
result = (in = 2)
end
valid_serial_number (in: INTEGER_X): BOOLEAN
do
result := (in >= in.one) and in.bits <= 20 * 8
ensure
result = ((in >= in.one) and in.bits <= 20 * 8)
end
invariant
valid_version (version)
valid_serial_number (serial_number)
end