Home | History | Annotate | Download | only in ssl

Lines Matching refs:kssl_ctx

1049 /*	Given krb5 service (typically "kssl") and hostname in kssl_ctx,
1060 kssl_cget_tkt( /* UPDATE */ KSSL_CTX *kssl_ctx,
1075 if (!kssl_ctx)
1078 "No kssl_ctx defined.\n");
1081 else if (!kssl_ctx->service_host)
1084 "kssl_ctx service_host undefined.\n");
1097 kssl_ctx->service_host,
1098 (kssl_ctx->service_name)? kssl_ctx->service_name: KRB5SVC,
1103 kssl_ctx->service_host,
1104 (kssl_ctx->service_name)? kssl_ctx->service_name:
1135 kssl_ctx->enctype = krb5credsp->session.keytype;
1137 kssl_ctx->enctype = krb5credsp->keyblock.enctype;
1186 if (kssl_ctx_setkey(kssl_ctx, &krb5credsp->session))
1192 if (kssl_ctx_setkey(kssl_ctx, &krb5credsp->keyblock))
1202 kssl_ctx_show(kssl_ctx);
1300 /* Given krb5 service name in KSSL_CTX *kssl_ctx (typically "kssl"),
1303 ** to SSL Server in KSSL_CTX *kssl_ctx.
1308 kssl_sget_tkt( /* UPDATE */ KSSL_CTX *kssl_ctx,
1326 if (!kssl_ctx)
1329 "No kssl_ctx defined.\n");
1334 printf("in kssl_sget_tkt(%s)\n", kstring(kssl_ctx->service_name));
1369 (kssl_ctx->service_name)? kssl_ctx->service_name: KRB5SVC,
1397 /* kssl_ctx->keytab_file == NULL ==> use Kerberos default
1399 if (kssl_ctx->keytab_file)
1401 krb5rc = krb5_kt_resolve(krb5context, kssl_ctx->keytab_file,
1520 else if (kssl_ctx_setprinc(kssl_ctx
1528 else if (kssl_ctx_setkey(kssl_ctx, krb5ticket->enc_part2->session))
1541 kssl_ctx->enctype = krb5ticket->enc_part.enctype;
1549 kssl_ctx_show(kssl_ctx);
1560 /* Allocate & return a new kssl_ctx struct.
1562 KSSL_CTX *
1565 return ((KSSL_CTX *) kssl_calloc(1, sizeof(KSSL_CTX)));
1569 /* Frees a kssl_ctx struct and any allocated memory it holds.
1572 KSSL_CTX *
1573 kssl_ctx_free(KSSL_CTX *kssl_ctx)
1575 if (kssl_ctx == NULL) return kssl_ctx;
1577 if (kssl_ctx->key) OPENSSL_cleanse(kssl_ctx->key,
1578 kssl_ctx->length);
1579 if (kssl_ctx->key) kssl_free(kssl_ctx->key);
1580 if (kssl_ctx->client_princ) kssl_free(kssl_ctx->client_princ);
1581 if (kssl_ctx->service_host) kssl_free(kssl_ctx->service_host);
1582 if (kssl_ctx->service_name) kssl_free(kssl_ctx->service_name);
1583 if (kssl_ctx->keytab_file) kssl_free(kssl_ctx->keytab_file);
1585 kssl_free(kssl_ctx);
1586 return (KSSL_CTX *) NULL;
1592 ** of the kssl_ctx struct.
1595 kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which,
1602 if (kssl_ctx == NULL || entity == NULL) return KSSL_CTX_ERR;
1606 case KSSL_CLIENT: princ = &kssl_ctx->client_princ; break;
1607 case KSSL_SERVER: princ = &kssl_ctx->service_host; break;
1646 /* Set one of the plain (char *) string members of the kssl_ctx struct.
1652 kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text)
1656 if (!kssl_ctx) return KSSL_CTX_ERR;
1660 case KSSL_SERVICE: string = &kssl_ctx->service_name; break;
1661 case KSSL_SERVER: string = &kssl_ctx->service_host; break;
1662 case KSSL_CLIENT: string = &kssl_ctx->client_princ; break;
1663 case KSSL_KEYTAB: string = &kssl_ctx->keytab_file; break;
1683 /* Copy the Kerberos session key from a (krb5_keyblock *) to a kssl_ctx
1684 ** struct. Clear kssl_ctx->key if Kerberos session key is NULL.
1687 kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session)
1693 if (!kssl_ctx) return KSSL_CTX_ERR;
1695 if (kssl_ctx->key)
1697 OPENSSL_cleanse(kssl_ctx->key, kssl_ctx->length);
1698 kssl_free(kssl_ctx->key);
1713 kssl_ctx->enctype = enctype;
1714 kssl_ctx->length = length;
1718 kssl_ctx->enctype = ENCTYPE_UNKNOWN;
1719 kssl_ctx->length = 0;
1723 if ((kssl_ctx->key =
1724 (krb5_octet FAR *) kssl_calloc(1, kssl_ctx->length)) == NULL)
1726 kssl_ctx->length = 0;
1730 memcpy(kssl_ctx->key, contents, length);
1736 /* Display contents of kssl_ctx struct
1739 kssl_ctx_show(KSSL_CTX *kssl_ctx)
1743 printf("kssl_ctx: ");
1744 if (kssl_ctx == NULL)
1750 printf("%p\n", (void *)kssl_ctx);
1753 (kssl_ctx->service_name)? kssl_ctx->service_name: "NULL");
1755 (kssl_ctx->client_princ)? kssl_ctx->client_princ: "NULL");
1757 (kssl_ctx->service_host)? kssl_ctx->service_host: "NULL");
1759 (kssl_ctx->keytab_file)? kssl_ctx->keytab_file: "NULL");
1761 kssl_ctx->enctype, kssl_ctx->length);
1763 for (i=0; i < kssl_ctx->length && kssl_ctx->key; i++)
1765 printf("%02x", kssl_ctx->key[i]);
1772 kssl_keytab_is_available(KSSL_CTX *kssl_ctx)
1784 /* kssl_ctx->keytab_file == NULL ==> use Kerberos default
1786 if (kssl_ctx->keytab_file)
1788 krb5rc = krb5_kt_resolve(krb5context, kssl_ctx->keytab_file,
1802 kssl_ctx->service_name ? kssl_ctx->service_name: KRB5SVC,
1827 kssl_tgt_is_available(KSSL_CTX *kssl_ctx)
1837 if (!kssl_ctx)
1840 if (!kssl_ctx->service_host)
1847 kssl_ctx->service_host,
1848 (kssl_ctx->service_name)? kssl_ctx->service_name: KRB5SVC,
1867 kssl_ctx_show(kssl_ctx);
1991 /* IN */ KSSL_CTX *kssl_ctx,
2052 enctype = dec_authent->etype->data[0]; /* should = kssl_ctx->enctype */
2074 if (!EVP_CipherInit(&ciph_ctx,enc,kssl_ctx->key,iv,0))