summaryrefslogtreecommitdiffstats
path: root/crypto/asymmetric_keys/x509_akid.asn1
blob: 0f8355cf1907800aa9d09dca66f33a469e28c644 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
-- SPDX-License-Identifier: BSD-3-Clause
--
-- Copyright (C) 2008 IETF Trust and the persons identified as authors
-- of the code
--
-- X.509 AuthorityKeyIdentifier
-- rfc5280 section 4.2.1.1

AuthorityKeyIdentifier ::= SEQUENCE {
	keyIdentifier			[0] IMPLICIT KeyIdentifier		OPTIONAL,
	authorityCertIssuer		[1] IMPLICIT GeneralNames		OPTIONAL,
	authorityCertSerialNumber	[2] IMPLICIT CertificateSerialNumber	OPTIONAL
	}

KeyIdentifier ::= OCTET STRING ({ x509_akid_note_kid })

CertificateSerialNumber ::= INTEGER ({ x509_akid_note_serial })

GeneralNames ::= SEQUENCE OF GeneralName

GeneralName ::= CHOICE {
	otherName			[0] IMPLICIT OtherName,
	rfc822Name			[1] IMPLICIT IA5String,
	dNSName				[2] IMPLICIT IA5String,
	x400Address			[3] ANY,
	directoryName			[4] Name ({ x509_akid_note_name }),
	ediPartyName			[5] IMPLICIT EDIPartyName,
	uniformResourceIdentifier	[6] IMPLICIT IA5String,
	iPAddress			[7] IMPLICIT OCTET STRING,
	registeredID			[8] IMPLICIT OBJECT IDENTIFIER
	}

Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeValueAssertion

AttributeValueAssertion ::= SEQUENCE {
	attributeType		OBJECT IDENTIFIER ({ x509_note_OID }),
	attributeValue		ANY ({ x509_extract_name_segment })
	}

OtherName ::= SEQUENCE {
	type-id			OBJECT IDENTIFIER,
	value			[0] ANY
	}

EDIPartyName ::= SEQUENCE {
	nameAssigner		[0] ANY OPTIONAL,
	partyName		[1] ANY
	}