Added certificate revoke information from configuration file.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17054 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -502,7 +502,7 @@ configure(krb5_context context, int argc, char **argv) | |||||||
| 				     NULL); | 				     NULL); | ||||||
|     if (config->enable_pkinit) { |     if (config->enable_pkinit) { | ||||||
| 	const char *user_id, *anchors; | 	const char *user_id, *anchors; | ||||||
| 	char **chain; | 	char **chain, **revoke; | ||||||
|  |  | ||||||
| 	user_id = krb5_config_get_string(context, NULL, | 	user_id = krb5_config_get_string(context, NULL, | ||||||
| 					 "kdc", | 					 "kdc", | ||||||
| @@ -523,7 +523,12 @@ configure(krb5_context context, int argc, char **argv) | |||||||
| 					"pki-chain", | 					"pki-chain", | ||||||
| 					NULL); | 					NULL); | ||||||
|  |  | ||||||
| 	_kdc_pk_initialize(context, config, user_id, anchors, chain); | 	revoke = krb5_config_get_strings(context, NULL, | ||||||
|  | 					"kdc", | ||||||
|  | 					"pki-revoke", | ||||||
|  | 					NULL); | ||||||
|  |  | ||||||
|  | 	_kdc_pk_initialize(context, config, user_id, anchors, chain, revoke); | ||||||
|  |  | ||||||
| 	krb5_config_free_strings(chain); | 	krb5_config_free_strings(chain); | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								kdc/pkinit.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								kdc/pkinit.c
									
									
									
									
									
								
							| @@ -52,6 +52,7 @@ struct krb5_pk_identity { | |||||||
|     hx509_certs certs; |     hx509_certs certs; | ||||||
|     hx509_certs anchors; |     hx509_certs anchors; | ||||||
|     hx509_certs certpool; |     hx509_certs certpool; | ||||||
|  |     hx509_revoke_ctx revoke; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| enum pkinit_type { | enum pkinit_type { | ||||||
| @@ -1238,7 +1239,8 @@ _kdc_pk_initialize(krb5_context context, | |||||||
| 		   krb5_kdc_configuration *config, | 		   krb5_kdc_configuration *config, | ||||||
| 		   const char *user_id, | 		   const char *user_id, | ||||||
| 		   const char *anchors, | 		   const char *anchors, | ||||||
| 		   char **pool) | 		   char **pool, | ||||||
|  | 		   char **revoke) | ||||||
| { | { | ||||||
|     const char *file;  |     const char *file;  | ||||||
|     krb5_error_code ret; |     krb5_error_code ret; | ||||||
| @@ -1256,14 +1258,15 @@ _kdc_pk_initialize(krb5_context context, | |||||||
|     principal_mappings.len = 0; |     principal_mappings.len = 0; | ||||||
|     principal_mappings.val = NULL; |     principal_mappings.val = NULL; | ||||||
|  |  | ||||||
|     ret = _krb5_pk_load_openssl_id(context, |     ret = _krb5_pk_load_id(context, | ||||||
| 				   &kdc_identity, | 			   &kdc_identity, | ||||||
| 				   user_id, | 			   user_id, | ||||||
| 				   anchors, | 			   anchors, | ||||||
| 				   pool, | 			   pool, | ||||||
| 				   NULL, | 			   revoke, | ||||||
| 				   NULL, | 			   NULL, | ||||||
| 				   NULL); | 			   NULL, | ||||||
|  | 			   NULL); | ||||||
|     if (ret) { |     if (ret) { | ||||||
| 	krb5_warn(context, ret, "PKINIT: failed to load"); | 	krb5_warn(context, ret, "PKINIT: failed to load"); | ||||||
| 	config->enable_pkinit = 0; | 	config->enable_pkinit = 0; | ||||||
|   | |||||||
| @@ -71,6 +71,7 @@ int fcache_version; | |||||||
| char *pk_user_id	= NULL; | char *pk_user_id	= NULL; | ||||||
| char *pk_x509_anchors	= NULL; | char *pk_x509_anchors	= NULL; | ||||||
| char **pk_x509_pool	= NULL; | char **pk_x509_pool	= NULL; | ||||||
|  | char **pk_x509_revoke	= NULL; | ||||||
|  |  | ||||||
|  |  | ||||||
| static char *krb4_cc_name; | static char *krb4_cc_name; | ||||||
| @@ -466,6 +467,7 @@ get_new_tickets(krb5_context context, | |||||||
| 						 pk_user_id, | 						 pk_user_id, | ||||||
| 						 pk_x509_anchors, | 						 pk_x509_anchors, | ||||||
| 						 pk_x509_pool, | 						 pk_x509_pool, | ||||||
|  | 						 pk_x509_revoke, | ||||||
| 						 0, | 						 0, | ||||||
| 						 NULL, | 						 NULL, | ||||||
| 						 NULL, | 						 NULL, | ||||||
| @@ -808,6 +810,12 @@ main (int argc, char **argv) | |||||||
| 					   "pkinit-pool",  | 					   "pkinit-pool",  | ||||||
| 					   NULL); | 					   NULL); | ||||||
|  |  | ||||||
|  |     pk_x509_revoke = krb5_config_get_strings(context, NULL, | ||||||
|  | 					     "appdefaults",  | ||||||
|  | 					     "pkinit-revoke",  | ||||||
|  | 					     NULL); | ||||||
|  |  | ||||||
|  |  | ||||||
|     if (pk_x509_anchors == NULL) |     if (pk_x509_anchors == NULL) | ||||||
| 	krb5_appdefault_string(context, "kinit", | 	krb5_appdefault_string(context, "kinit", | ||||||
| 			       krb5_principal_get_realm(context, principal),  | 			       krb5_principal_get_realm(context, principal),  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand