Added policyMappings support to x509 plugin

This commit is contained in:
Martin Willi
2011-01-05 16:46:02 +01:00
parent 5122fa1e02
commit 5a0caa4b3a
5 changed files with 152 additions and 3 deletions
+1
View File
@@ -47,6 +47,7 @@ ENUM(builder_part_names, BUILD_FROM_FILE, BUILD_END,
"BUILD_PERMITTED_NAME_CONSTRAINTS",
"BUILD_EXCLUDED_NAME_CONSTRAINTS",
"BUILD_CERTIFICATE_POLICIES",
"BUILD_POLICY_MAPPINGS",
"BUILD_X509_FLAG",
"BUILD_REVOKED_ENUMERATOR",
"BUILD_CHALLENGE_PWD",
+2
View File
@@ -101,6 +101,8 @@ enum builder_part_t {
BUILD_EXCLUDED_NAME_CONSTRAINTS,
/** certificatePolicy OIDs, linked_list_t* of x509_cert_policy_t* */
BUILD_CERTIFICATE_POLICIES,
/** policyMapping OIDs, linked_list_t* of x509_policy_mapping_t* */
BUILD_POLICY_MAPPINGS,
/** enforce an additional X509 flag, x509_flag_t */
BUILD_X509_FLAG,
/** enumerator_t over (chunk_t serial, time_t date, crl_reason_t reason) */
@@ -28,6 +28,7 @@
typedef struct x509_t x509_t;
typedef struct x509_cert_policy_t x509_cert_policy_t;
typedef struct x509_policy_mapping_t x509_policy_mapping_t;
typedef enum x509_flag_t x509_flag_t;
/**
@@ -66,6 +67,16 @@ struct x509_cert_policy_t {
char *unotice_text;
};
/**
* X.509 policyMapping extension
*/
struct x509_policy_mapping_t {
/** OID of issuerDomainPolicy */
chunk_t issuer;
/** OID of subjectDomainPolicy */
chunk_t subject;
};
/**
* X.509 certificate interface.
*
@@ -156,6 +167,13 @@ struct x509_t {
* @return enumerator over x509_cert_policy_t
*/
enumerator_t* (*create_cert_policy_enumerator)(x509_t *this);
/**
* Create an enumerator over policy mappings.
*
* @return enumerator over x509_policy_mapping
*/
enumerator_t* (*create_policy_mapping_enumerator)(x509_t *this);
};
#endif /** X509_H_ @}*/