|  | @@ -79,113 +79,68 @@ struct asn1_cursor {
 | 
		
	
		
			
			| 79 | 79 |  #define ASN1_OID_TRIPLE( value ) \
 | 
		
	
		
			
			| 80 | 80 |  	( 0x80 | ( ( (value) >> 14 ) & 0x7f ) ), ASN1_OID_DOUBLE ( (value) )
 | 
		
	
		
			
			| 81 | 81 |  
 | 
		
	
		
			
			| 82 |  | -/** ASN.1 OID for iso(1) member-body(2) */
 | 
		
	
		
			
			| 83 |  | -#define ASN1_OID_ISO_MEMBERBODY ASN1_OID_INITIAL ( 1, 2 )
 | 
		
	
		
			
			| 84 |  | -
 | 
		
	
		
			
			| 85 |  | -/** ASN.1 OID for iso(1) identified-organization(3) */
 | 
		
	
		
			
			| 86 |  | -#define ASN1_OID_IDENTIFIED_ORGANIZATION ASN1_OID_INITIAL ( 1, 3 )
 | 
		
	
		
			
			| 87 |  | -
 | 
		
	
		
			
			| 88 |  | -/** ASN.1 OID for joint-iso-itu-t(2) ds(5) */
 | 
		
	
		
			
			| 89 |  | -#define ASN1_OID_DIRECTORY_SERVICES ASN1_OID_INITIAL ( 2, 5 )
 | 
		
	
		
			
			| 90 |  | -
 | 
		
	
		
			
			| 91 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) */
 | 
		
	
		
			
			| 92 |  | -#define ASN1_OID_COUNTRY ASN1_OID_INITIAL ( 2, 16 )
 | 
		
	
		
			
			| 93 |  | -
 | 
		
	
		
			
			| 94 |  | -/** ASN.1 OID for iso(1) member-body(2) us(840) */
 | 
		
	
		
			
			| 95 |  | -#define ASN1_OID_ISO_US ASN1_OID_ISO_MEMBERBODY, ASN1_OID_DOUBLE ( 840 )
 | 
		
	
		
			
			| 96 |  | -
 | 
		
	
		
			
			| 97 |  | -/** ASN.1 OID for iso(1) member-body(2) us(840) rsadsi(113549) */
 | 
		
	
		
			
			| 98 |  | -#define ASN1_OID_RSADSI ASN1_OID_ISO_US, ASN1_OID_TRIPLE ( 113549 )
 | 
		
	
		
			
			| 99 |  | -
 | 
		
	
		
			
			| 100 |  | -/** ASN.1 OID for iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) */
 | 
		
	
		
			
			| 101 |  | -#define ASN1_OID_PKCS ASN1_OID_RSADSI, ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			| 102 |  | -
 | 
		
	
		
			
			| 103 |  | -/** ASN.1 OID for iso(1) member-body(2) us(840) rsadsi(113549)
 | 
		
	
		
			
			| 104 |  | - * digestAlgorithm(2)
 | 
		
	
		
			
			| 105 |  | - */
 | 
		
	
		
			
			| 106 |  | -#define ASN1_OID_DIGESTALGORITHM ASN1_OID_RSADSI, ASN1_OID_SINGLE ( 2 )
 | 
		
	
		
			
			| 107 |  | -
 | 
		
	
		
			
			| 108 |  | -/** ASN.1 OID for iso(1) identified-organization(3) oiw(14) */
 | 
		
	
		
			
			| 109 |  | -#define ASN1_OID_OIW ASN1_OID_IDENTIFIED_ORGANIZATION, ASN1_OID_SINGLE ( 14 )
 | 
		
	
		
			
			| 110 |  | -
 | 
		
	
		
			
			| 111 |  | -/** ASN.1 OID for iso(1) identified-organization(3) oiw(14) secsig(3) */
 | 
		
	
		
			
			| 112 |  | -#define ASN1_OID_SECSIG ASN1_OID_OIW, ASN1_OID_SINGLE ( 3 )
 | 
		
	
		
			
			| 113 |  | -
 | 
		
	
		
			
			| 114 |  | -/** ASN1. OID for iso(1) identified-organization(3) oiw(14) secsig(3)
 | 
		
	
		
			
			| 115 |  | - * algorithms(2)
 | 
		
	
		
			
			| 116 |  | - */
 | 
		
	
		
			
			| 117 |  | -#define ASN1_OID_SECSIG_ALGORITHMS ASN1_OID_SECSIG, ASN1_OID_SINGLE ( 2 )
 | 
		
	
		
			
			| 118 |  | -
 | 
		
	
		
			
			| 119 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) us(840) */
 | 
		
	
		
			
			| 120 |  | -#define ASN1_OID_COUNTRY_US ASN1_OID_COUNTRY, ASN1_OID_DOUBLE ( 840 )
 | 
		
	
		
			
			| 121 |  | -
 | 
		
	
		
			
			| 122 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) us(840) organization(1) */
 | 
		
	
		
			
			| 123 |  | -#define ASN1_OID_US_ORGANIZATION ASN1_OID_COUNTRY_US, ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			| 124 |  | -
 | 
		
	
		
			
			| 125 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) us(840)
 | 
		
	
		
			
			| 126 |  | - * organization(1) gov(101)
 | 
		
	
		
			
			| 127 |  | - */
 | 
		
	
		
			
			| 128 |  | -#define ASN1_OID_US_GOV ASN1_OID_US_ORGANIZATION, ASN1_OID_SINGLE ( 101 )
 | 
		
	
		
			
			| 129 |  | -
 | 
		
	
		
			
			| 130 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) us(840)
 | 
		
	
		
			
			| 131 |  | - * organization(1) gov(101) csor(3)
 | 
		
	
		
			
			| 132 |  | - */
 | 
		
	
		
			
			| 133 |  | -#define ASN1_OID_CSOR ASN1_OID_US_GOV, ASN1_OID_SINGLE ( 3 )
 | 
		
	
		
			
			| 134 |  | -
 | 
		
	
		
			
			| 135 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) us(840)
 | 
		
	
		
			
			| 136 |  | - * organization(1) gov(101) csor(3) nistalgorithm(4)
 | 
		
	
		
			
			| 137 |  | - */
 | 
		
	
		
			
			| 138 |  | -#define ASN1_OID_NISTALGORITHM ASN1_OID_CSOR, ASN1_OID_SINGLE ( 4 )
 | 
		
	
		
			
			| 139 |  | -
 | 
		
	
		
			
			| 140 |  | -/** ASN.1 OID for joint-iso-itu-t(2) country(16) us(840)
 | 
		
	
		
			
			| 141 |  | - * organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2)
 | 
		
	
		
			
			| 142 |  | - */
 | 
		
	
		
			
			| 143 |  | -#define ASN1_OID_HASHALGS ASN1_OID_NISTALGORITHM, ASN1_OID_SINGLE ( 2 )
 | 
		
	
		
			
			| 144 |  | -
 | 
		
	
		
			
			| 145 |  | -/** ASN.1 OID for pkcs-1 */
 | 
		
	
		
			
			| 146 |  | -#define ASN1_OID_PKCS_1 ASN1_OID_PKCS, ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			| 147 |  | -
 | 
		
	
		
			
			| 148 |  | -/** ASN.1 OID for rsaEncryption */
 | 
		
	
		
			
			| 149 |  | -#define ASN1_OID_RSAENCRYPTION ASN1_OID_PKCS_1, ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			| 150 |  | -
 | 
		
	
		
			
			| 151 |  | -/** ASN.1 OID for md5WithRSAEncryption */
 | 
		
	
		
			
			| 152 |  | -#define ASN1_OID_MD5WITHRSAENCRYPTION ASN1_OID_PKCS_1, ASN1_OID_SINGLE ( 4 )
 | 
		
	
		
			
			| 153 |  | -
 | 
		
	
		
			
			| 154 |  | -/** ASN.1 OID for sha1WithRSAEncryption */
 | 
		
	
		
			
			| 155 |  | -#define ASN1_OID_SHA1WITHRSAENCRYPTION ASN1_OID_PKCS_1, ASN1_OID_SINGLE ( 5 )
 | 
		
	
		
			
			| 156 |  | -
 | 
		
	
		
			
			| 157 |  | -/** ASN.1 OID for sha256WithRSAEncryption */
 | 
		
	
		
			
			| 158 |  | -#define ASN1_OID_SHA256WITHRSAENCRYPTION ASN1_OID_PKCS_1, ASN1_OID_SINGLE ( 11 )
 | 
		
	
		
			
			| 159 |  | -
 | 
		
	
		
			
			| 160 |  | -/** ASN.1 OID for id-md5 */
 | 
		
	
		
			
			| 161 |  | -#define ASN1_OID_MD5 ASN1_OID_DIGESTALGORITHM, ASN1_OID_SINGLE ( 5 )
 | 
		
	
		
			
			| 162 |  | -
 | 
		
	
		
			
			| 163 |  | -/** ASN.1 OID for id-sha1 */
 | 
		
	
		
			
			| 164 |  | -#define ASN1_OID_SHA1 ASN1_OID_SECSIG_ALGORITHMS, ASN1_OID_SINGLE ( 26 )
 | 
		
	
		
			
			| 165 |  | -
 | 
		
	
		
			
			| 166 |  | -/** ASN.1 OID for id-sha256 */
 | 
		
	
		
			
			| 167 |  | -#define ASN1_OID_SHA256 ASN1_OID_HASHALGS, ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			| 168 |  | -
 | 
		
	
		
			
			| 169 |  | -/** ASN.1 OID for joint-iso-itu-t(2) ds(5) attributeType(4) */
 | 
		
	
		
			
			| 170 |  | -#define ASN1_OID_ATTRIBUTE_TYPE \
 | 
		
	
		
			
			| 171 |  | -	ASN1_OID_DIRECTORY_SERVICES, ASN1_OID_SINGLE ( 4 )
 | 
		
	
		
			
			| 172 |  | -
 | 
		
	
		
			
			| 173 |  | -/** ASN.1 OID for joint-iso-itu-t(2) ds(5) attributeType(4) commonName(3) */
 | 
		
	
		
			
			| 174 |  | -#define ASN1_OID_COMMON_NAME ASN1_OID_ATTRIBUTE_TYPE, ASN1_OID_SINGLE ( 3 )
 | 
		
	
		
			
			| 175 |  | -
 | 
		
	
		
			
			| 176 |  | -/** ASN.1 OID for id-ce */
 | 
		
	
		
			
			| 177 |  | -#define ASN1_OID_CE ASN1_OID_DIRECTORY_SERVICES, ASN1_OID_SINGLE ( 29 )
 | 
		
	
		
			
			| 178 |  | -
 | 
		
	
		
			
			| 179 |  | -/** ASN.1 OID for id-ce-keyUsage */
 | 
		
	
		
			
			| 180 |  | -#define ASN1_OID_KEYUSAGE ASN1_OID_CE, ASN1_OID_SINGLE ( 15 )
 | 
		
	
		
			
			| 181 |  | -
 | 
		
	
		
			
			| 182 |  | -/** ASN.1 OID for id-ce-basicConstraints */
 | 
		
	
		
			
			| 183 |  | -#define ASN1_OID_BASICCONSTRAINTS ASN1_OID_CE, ASN1_OID_SINGLE ( 19 )
 | 
		
	
		
			
			|  | 82 | +/** ASN.1 OID for rsaEncryption (1.2.840.113549.1.1.1) */
 | 
		
	
		
			
			|  | 83 | +#define ASN1_OID_RSAENCRYPTION					\
 | 
		
	
		
			
			|  | 84 | +	ASN1_OID_INITIAL ( 1, 2 ), ASN1_OID_DOUBLE ( 840 ),	\
 | 
		
	
		
			
			|  | 85 | +	ASN1_OID_TRIPLE ( 113549 ), ASN1_OID_SINGLE ( 1 ),	\
 | 
		
	
		
			
			|  | 86 | +	ASN1_OID_SINGLE ( 1 ), ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			|  | 87 | +
 | 
		
	
		
			
			|  | 88 | +/** ASN.1 OID for md5WithRSAEncryption (1.2.840.113549.1.1.4) */
 | 
		
	
		
			
			|  | 89 | +#define ASN1_OID_MD5WITHRSAENCRYPTION				\
 | 
		
	
		
			
			|  | 90 | +	ASN1_OID_INITIAL ( 1, 2 ), ASN1_OID_DOUBLE ( 840 ),	\
 | 
		
	
		
			
			|  | 91 | +	ASN1_OID_TRIPLE ( 113549 ), ASN1_OID_SINGLE ( 1 ),	\
 | 
		
	
		
			
			|  | 92 | +	ASN1_OID_SINGLE ( 1 ), ASN1_OID_SINGLE ( 4 )
 | 
		
	
		
			
			|  | 93 | +
 | 
		
	
		
			
			|  | 94 | +/** ASN.1 OID for sha1WithRSAEncryption (1.2.840.113549.1.1.5) */
 | 
		
	
		
			
			|  | 95 | +#define ASN1_OID_SHA1WITHRSAENCRYPTION				\
 | 
		
	
		
			
			|  | 96 | +	ASN1_OID_INITIAL ( 1, 2 ), ASN1_OID_DOUBLE ( 840 ),	\
 | 
		
	
		
			
			|  | 97 | +	ASN1_OID_TRIPLE ( 113549 ), ASN1_OID_SINGLE ( 1 ),	\
 | 
		
	
		
			
			|  | 98 | +	ASN1_OID_SINGLE ( 1 ), ASN1_OID_SINGLE ( 5 )
 | 
		
	
		
			
			|  | 99 | +
 | 
		
	
		
			
			|  | 100 | +/** ASN.1 OID for sha256WithRSAEncryption (1.2.840.113549.1.1.11) */
 | 
		
	
		
			
			|  | 101 | +#define ASN1_OID_SHA256WITHRSAENCRYPTION			\
 | 
		
	
		
			
			|  | 102 | +	ASN1_OID_INITIAL ( 1, 2 ), ASN1_OID_DOUBLE ( 840 ),	\
 | 
		
	
		
			
			|  | 103 | +	ASN1_OID_TRIPLE ( 113549 ), ASN1_OID_SINGLE ( 1 ),	\
 | 
		
	
		
			
			|  | 104 | +	ASN1_OID_SINGLE ( 1 ), ASN1_OID_SINGLE ( 11 )
 | 
		
	
		
			
			|  | 105 | +
 | 
		
	
		
			
			|  | 106 | +/** ASN.1 OID for id-md5 (1.2.840.113549.2.5) */
 | 
		
	
		
			
			|  | 107 | +#define ASN1_OID_MD5						\
 | 
		
	
		
			
			|  | 108 | +	ASN1_OID_INITIAL ( 1, 2 ), ASN1_OID_DOUBLE ( 840 ),	\
 | 
		
	
		
			
			|  | 109 | +	ASN1_OID_TRIPLE ( 113549 ), ASN1_OID_SINGLE ( 2 ),	\
 | 
		
	
		
			
			|  | 110 | +	ASN1_OID_SINGLE ( 5 )
 | 
		
	
		
			
			|  | 111 | +
 | 
		
	
		
			
			|  | 112 | +/** ASN.1 OID for id-sha1 (1.3.14.3.2.26) */
 | 
		
	
		
			
			|  | 113 | +#define ASN1_OID_SHA1						\
 | 
		
	
		
			
			|  | 114 | +	ASN1_OID_INITIAL ( 1, 3 ), ASN1_OID_SINGLE ( 14 ),	\
 | 
		
	
		
			
			|  | 115 | +	ASN1_OID_SINGLE ( 3 ), ASN1_OID_SINGLE ( 2 ),		\
 | 
		
	
		
			
			|  | 116 | +	ASN1_OID_SINGLE ( 26 )
 | 
		
	
		
			
			|  | 117 | +
 | 
		
	
		
			
			|  | 118 | +/** ASN.1 OID for id-sha256 (2.16.840.1.101.3.4.2.1) */
 | 
		
	
		
			
			|  | 119 | +#define ASN1_OID_SHA256						\
 | 
		
	
		
			
			|  | 120 | +	ASN1_OID_INITIAL ( 2, 16 ), ASN1_OID_DOUBLE ( 840 ),	\
 | 
		
	
		
			
			|  | 121 | +	ASN1_OID_SINGLE ( 1 ), ASN1_OID_SINGLE ( 101 ),		\
 | 
		
	
		
			
			|  | 122 | +	ASN1_OID_SINGLE ( 3 ), ASN1_OID_SINGLE ( 4 ),		\
 | 
		
	
		
			
			|  | 123 | +	ASN1_OID_SINGLE ( 2 ), ASN1_OID_SINGLE ( 1 )
 | 
		
	
		
			
			|  | 124 | +
 | 
		
	
		
			
			|  | 125 | +/** ASN.1 OID for commonName (2.5.4.3) */
 | 
		
	
		
			
			|  | 126 | +#define ASN1_OID_COMMON_NAME					\
 | 
		
	
		
			
			|  | 127 | +	ASN1_OID_INITIAL ( 2, 5 ), ASN1_OID_SINGLE ( 4 ),	\
 | 
		
	
		
			
			|  | 128 | +	ASN1_OID_SINGLE ( 3 )
 | 
		
	
		
			
			|  | 129 | +
 | 
		
	
		
			
			|  | 130 | +/** ASN.1 OID for id-ce-keyUsage (2.5.29.15) */
 | 
		
	
		
			
			|  | 131 | +#define ASN1_OID_KEYUSAGE					\
 | 
		
	
		
			
			|  | 132 | +	ASN1_OID_INITIAL ( 2, 5 ), ASN1_OID_SINGLE ( 29 ),	\
 | 
		
	
		
			
			|  | 133 | +	ASN1_OID_SINGLE ( 15 )
 | 
		
	
		
			
			|  | 134 | +
 | 
		
	
		
			
			|  | 135 | +/** ASN.1 OID for id-ce-basicConstraints (2.5.29.19) */
 | 
		
	
		
			
			|  | 136 | +#define ASN1_OID_BASICCONSTRAINTS				\
 | 
		
	
		
			
			|  | 137 | +	ASN1_OID_INITIAL ( 2, 5 ), ASN1_OID_SINGLE ( 29 ),	\
 | 
		
	
		
			
			|  | 138 | +	ASN1_OID_SINGLE ( 19 )
 | 
		
	
		
			
			| 184 | 139 |  
 | 
		
	
		
			
			| 185 | 140 |  /** Define an ASN.1 cursor containing an OID */
 | 
		
	
		
			
			| 186 |  | -#define ASN1_OID_CURSOR( oid_value ) {			\
 | 
		
	
		
			
			| 187 |  | -		.data = oid_value,			\
 | 
		
	
		
			
			| 188 |  | -		.len = sizeof ( oid_value ),		\
 | 
		
	
		
			
			|  | 141 | +#define ASN1_OID_CURSOR( oid_value ) {				\
 | 
		
	
		
			
			|  | 142 | +		.data = oid_value,				\
 | 
		
	
		
			
			|  | 143 | +		.len = sizeof ( oid_value ),			\
 | 
		
	
		
			
			| 189 | 144 |  	}
 | 
		
	
		
			
			| 190 | 145 |  
 | 
		
	
		
			
			| 191 | 146 |  /** An ASN.1 boolean */
 |