}
}
-#if 0 /* XXX Testing... */
- code = krb5_get_init_creds_opt_set_pkinit(
- k5->ctx, /* context */
- options, /* get_init_creds_opt */
- NULL, /* principal */
- "/tmp/x509up_u20010", /* X509_user_identity */
- "/etc/grid-security/certificates", /* X509_anchors */
- NULL, /* X509_chain_list */
- NULL, /* X509_revoke_list */
- 0, /* flags */
- NULL, /* prompter_fct */
- NULL, /* prompter_data */
- NULL); /* password */
- if (code) {
- com_err(progname, code, "while setting pkinit options");
- goto cleanup;
- }
-#endif
switch (opts->action) {
case INIT_PW:
code = krb5_get_init_creds_password(k5->ctx, &my_creds, k5->me,
}
free(preauth_data);
}
-
-
-/*
- * This function is provided for compatibility with Heimdal's
- * function of the same name. We ignore the principal,
- * password, and prompter parameters.
- */
-krb5_error_code KRB5_CALLCONV
-krb5_get_init_creds_opt_set_pkinit(krb5_context context,
- krb5_get_init_creds_opt *opt,
- krb5_principal principal,
- const char *x509_user_identity,
- const char *x509_anchors,
- char * const * x509_chain_list,
- char * const * x509_revoke_list,
- int flags,
- krb5_prompter_fct prompter,
- void *prompter_data,
- char *password)
-{
- int i;
- krb5_error_code retval;
-
-#define PKINIT_RSA_PROTOCOL 0x00000002 /* XXX */
-
- if (x509_user_identity != NULL) {
- retval = krb5_get_init_creds_opt_set_pa(context, opt,
- "X509_user_identity", x509_user_identity);
- if (retval)
- return retval;
- }
- if (x509_anchors != NULL) {
- retval = krb5_get_init_creds_opt_set_pa(context, opt,
- "X509_anchors", x509_anchors);
- if (retval)
- return retval;
- }
- if (x509_chain_list != NULL) {
- for (i = 0; x509_chain_list[i] != NULL; i++) {
- retval = krb5_get_init_creds_opt_set_pa(context, opt,
- "X509_chain_list", x509_chain_list[i]);
- if (retval)
- return retval;
- }
- }
- if (x509_revoke_list != NULL) {
- for (i = 0; x509_revoke_list[i] != NULL; i++) {
- retval = krb5_get_init_creds_opt_set_pa(context, opt,
- "X509_revoke_list", x509_revoke_list[i]);
- if (retval)
- return retval;
- }
- }
- if (flags != 0) {
- if (flags & PKINIT_RSA_PROTOCOL) {
- retval = krb5_get_init_creds_opt_set_pa(context, opt,
- "flag_RSA_PROTOCOL", "yes");
- if (retval)
- return retval;
- }
- }
- return retval;
-}