1*ebfedea0SLionel Sambuc.\" $NetBSD: krb5_digest.3,v 1.1.1.2 2011/04/14 14:09:23 elric Exp $ 2*ebfedea0SLionel Sambuc.\" 3*ebfedea0SLionel Sambuc.\" Copyright (c) 2006 - 2007 Kungliga Tekniska Högskolan 4*ebfedea0SLionel Sambuc.\" (Royal Institute of Technology, Stockholm, Sweden). 5*ebfedea0SLionel Sambuc.\" All rights reserved. 6*ebfedea0SLionel Sambuc.\" 7*ebfedea0SLionel Sambuc.\" Redistribution and use in source and binary forms, with or without 8*ebfedea0SLionel Sambuc.\" modification, are permitted provided that the following conditions 9*ebfedea0SLionel Sambuc.\" are met: 10*ebfedea0SLionel Sambuc.\" 11*ebfedea0SLionel Sambuc.\" 1. Redistributions of source code must retain the above copyright 12*ebfedea0SLionel Sambuc.\" notice, this list of conditions and the following disclaimer. 13*ebfedea0SLionel Sambuc.\" 14*ebfedea0SLionel Sambuc.\" 2. Redistributions in binary form must reproduce the above copyright 15*ebfedea0SLionel Sambuc.\" notice, this list of conditions and the following disclaimer in the 16*ebfedea0SLionel Sambuc.\" documentation and/or other materials provided with the distribution. 17*ebfedea0SLionel Sambuc.\" 18*ebfedea0SLionel Sambuc.\" 3. Neither the name of the Institute nor the names of its contributors 19*ebfedea0SLionel Sambuc.\" may be used to endorse or promote products derived from this software 20*ebfedea0SLionel Sambuc.\" without specific prior written permission. 21*ebfedea0SLionel Sambuc.\" 22*ebfedea0SLionel Sambuc.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 23*ebfedea0SLionel Sambuc.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*ebfedea0SLionel Sambuc.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*ebfedea0SLionel Sambuc.\" ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 26*ebfedea0SLionel Sambuc.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*ebfedea0SLionel Sambuc.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*ebfedea0SLionel Sambuc.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*ebfedea0SLionel Sambuc.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*ebfedea0SLionel Sambuc.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*ebfedea0SLionel Sambuc.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*ebfedea0SLionel Sambuc.\" SUCH DAMAGE. 33*ebfedea0SLionel Sambuc.\" 34*ebfedea0SLionel Sambuc.\" Id 35*ebfedea0SLionel Sambuc.\" 36*ebfedea0SLionel Sambuc.Dd February 18, 2007 37*ebfedea0SLionel Sambuc.Dt KRB5_DIGEST 3 38*ebfedea0SLionel Sambuc.Os 39*ebfedea0SLionel Sambuc.Sh NAME 40*ebfedea0SLionel Sambuc.Nm krb5_digest , 41*ebfedea0SLionel Sambuc.Nm krb5_digest_alloc , 42*ebfedea0SLionel Sambuc.Nm krb5_digest_free , 43*ebfedea0SLionel Sambuc.Nm krb5_digest_set_server_cb , 44*ebfedea0SLionel Sambuc.Nm krb5_digest_set_type , 45*ebfedea0SLionel Sambuc.Nm krb5_digest_set_hostname , 46*ebfedea0SLionel Sambuc.Nm krb5_digest_get_server_nonce , 47*ebfedea0SLionel Sambuc.Nm krb5_digest_set_server_nonce , 48*ebfedea0SLionel Sambuc.Nm krb5_digest_get_opaque , 49*ebfedea0SLionel Sambuc.Nm krb5_digest_set_opaque , 50*ebfedea0SLionel Sambuc.Nm krb5_digest_get_identifier , 51*ebfedea0SLionel Sambuc.Nm krb5_digest_set_identifier , 52*ebfedea0SLionel Sambuc.Nm krb5_digest_init_request , 53*ebfedea0SLionel Sambuc.Nm krb5_digest_set_client_nonce , 54*ebfedea0SLionel Sambuc.Nm krb5_digest_set_digest , 55*ebfedea0SLionel Sambuc.Nm krb5_digest_set_username , 56*ebfedea0SLionel Sambuc.Nm krb5_digest_set_authid , 57*ebfedea0SLionel Sambuc.Nm krb5_digest_set_authentication_user , 58*ebfedea0SLionel Sambuc.Nm krb5_digest_set_realm , 59*ebfedea0SLionel Sambuc.Nm krb5_digest_set_method , 60*ebfedea0SLionel Sambuc.Nm krb5_digest_set_uri , 61*ebfedea0SLionel Sambuc.Nm krb5_digest_set_nonceCount , 62*ebfedea0SLionel Sambuc.Nm krb5_digest_set_qop , 63*ebfedea0SLionel Sambuc.Nm krb5_digest_request , 64*ebfedea0SLionel Sambuc.Nm krb5_digest_get_responseData , 65*ebfedea0SLionel Sambuc.Nm krb5_digest_get_rsp , 66*ebfedea0SLionel Sambuc.Nm krb5_digest_get_tickets , 67*ebfedea0SLionel Sambuc.Nm krb5_digest_get_client_binding , 68*ebfedea0SLionel Sambuc.Nm krb5_digest_get_a1_hash 69*ebfedea0SLionel Sambuc.Nd remote digest (HTTP-DIGEST, SASL, CHAP) suppport 70*ebfedea0SLionel Sambuc.Sh LIBRARY 71*ebfedea0SLionel SambucKerberos 5 Library (libkrb5, -lkrb5) 72*ebfedea0SLionel Sambuc.Sh SYNOPSIS 73*ebfedea0SLionel Sambuc.In krb5/krb5.h 74*ebfedea0SLionel Sambuc.Pp 75*ebfedea0SLionel Sambuc.Li "typedef struct krb5_digest *krb5_digest;" 76*ebfedea0SLionel Sambuc.Pp 77*ebfedea0SLionel Sambuc.Ft krb5_error_code 78*ebfedea0SLionel Sambuc.Fo krb5_digest_alloc 79*ebfedea0SLionel Sambuc.Fa "krb5_context context" 80*ebfedea0SLionel Sambuc.Fa "krb5_digest *digest" 81*ebfedea0SLionel Sambuc.Fc 82*ebfedea0SLionel Sambuc.Ft void 83*ebfedea0SLionel Sambuc.Fo krb5_digest_free 84*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 85*ebfedea0SLionel Sambuc.Fc 86*ebfedea0SLionel Sambuc.Ft krb5_error_code 87*ebfedea0SLionel Sambuc.Fo krb5_digest_set_type 88*ebfedea0SLionel Sambuc.Fa "krb5_context context" 89*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 90*ebfedea0SLionel Sambuc.Fa "const char *type" 91*ebfedea0SLionel Sambuc.Fc 92*ebfedea0SLionel Sambuc.Ft krb5_error_code 93*ebfedea0SLionel Sambuc.Fo krb5_digest_set_server_cb 94*ebfedea0SLionel Sambuc.Fa "krb5_context context" 95*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 96*ebfedea0SLionel Sambuc.Fa "const char *type" 97*ebfedea0SLionel Sambuc.Fa "const char *binding" 98*ebfedea0SLionel Sambuc.Fc 99*ebfedea0SLionel Sambuc.Ft krb5_error_code 100*ebfedea0SLionel Sambuc.Fo krb5_digest_set_hostname 101*ebfedea0SLionel Sambuc.Fa "krb5_context context" 102*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 103*ebfedea0SLionel Sambuc.Fa "const char *hostname" 104*ebfedea0SLionel Sambuc.Fc 105*ebfedea0SLionel Sambuc.Ft "const char *" 106*ebfedea0SLionel Sambuc.Fo krb5_digest_get_server_nonce 107*ebfedea0SLionel Sambuc.Fa "krb5_context context" 108*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 109*ebfedea0SLionel Sambuc.Fc 110*ebfedea0SLionel Sambuc.Ft krb5_error_code 111*ebfedea0SLionel Sambuc.Fo krb5_digest_set_server_nonce 112*ebfedea0SLionel Sambuc.Fa "krb5_context context" 113*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 114*ebfedea0SLionel Sambuc.Fa "const char *nonce" 115*ebfedea0SLionel Sambuc.Fc 116*ebfedea0SLionel Sambuc.Ft "const char *" 117*ebfedea0SLionel Sambuc.Fo krb5_digest_get_opaque 118*ebfedea0SLionel Sambuc.Fa "krb5_context context" 119*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 120*ebfedea0SLionel Sambuc.Fc 121*ebfedea0SLionel Sambuc.Ft krb5_error_code 122*ebfedea0SLionel Sambuc.Fo krb5_digest_set_opaque 123*ebfedea0SLionel Sambuc.Fa "krb5_context context" 124*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 125*ebfedea0SLionel Sambuc.Fa "const char *opaque" 126*ebfedea0SLionel Sambuc.Fc 127*ebfedea0SLionel Sambuc.Ft "const char *" 128*ebfedea0SLionel Sambuc.Fo krb5_digest_get_identifier 129*ebfedea0SLionel Sambuc.Fa "krb5_context context" 130*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 131*ebfedea0SLionel Sambuc.Fc 132*ebfedea0SLionel Sambuc.Ft krb5_error_code 133*ebfedea0SLionel Sambuc.Fo krb5_digest_set_identifier 134*ebfedea0SLionel Sambuc.Fa "krb5_context context" 135*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 136*ebfedea0SLionel Sambuc.Fa "const char *id" 137*ebfedea0SLionel Sambuc.Fc 138*ebfedea0SLionel Sambuc.Ft krb5_error_code 139*ebfedea0SLionel Sambuc.Fo krb5_digest_init_request 140*ebfedea0SLionel Sambuc.Fa "krb5_context context" 141*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 142*ebfedea0SLionel Sambuc.Fa "krb5_realm realm" 143*ebfedea0SLionel Sambuc.Fa "krb5_ccache ccache" 144*ebfedea0SLionel Sambuc.Fc 145*ebfedea0SLionel Sambuc.Ft krb5_error_code 146*ebfedea0SLionel Sambuc.Fo krb5_digest_set_client_nonce 147*ebfedea0SLionel Sambuc.Fa "krb5_context context" 148*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 149*ebfedea0SLionel Sambuc.Fa "const char *nonce" 150*ebfedea0SLionel Sambuc.Fc 151*ebfedea0SLionel Sambuc.Ft krb5_error_code 152*ebfedea0SLionel Sambuc.Fo krb5_digest_set_digest 153*ebfedea0SLionel Sambuc.Fa "krb5_context context" 154*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 155*ebfedea0SLionel Sambuc.Fa "const char *dgst" 156*ebfedea0SLionel Sambuc.Fc 157*ebfedea0SLionel Sambuc.Ft krb5_error_code 158*ebfedea0SLionel Sambuc.Fo krb5_digest_set_username 159*ebfedea0SLionel Sambuc.Fa "krb5_context context" 160*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 161*ebfedea0SLionel Sambuc.Fa "const char *username" 162*ebfedea0SLionel Sambuc.Fc 163*ebfedea0SLionel Sambuc.Ft krb5_error_code 164*ebfedea0SLionel Sambuc.Fo krb5_digest_set_authid 165*ebfedea0SLionel Sambuc.Fa "krb5_context context" 166*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 167*ebfedea0SLionel Sambuc.Fa "const char *authid" 168*ebfedea0SLionel Sambuc.Fc 169*ebfedea0SLionel Sambuc.Ft krb5_error_code 170*ebfedea0SLionel Sambuc.Fo krb5_digest_set_authentication_user 171*ebfedea0SLionel Sambuc.Fa "krb5_context context" 172*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 173*ebfedea0SLionel Sambuc.Fa "krb5_principal authentication_user" 174*ebfedea0SLionel Sambuc.Fc 175*ebfedea0SLionel Sambuc.Ft krb5_error_code 176*ebfedea0SLionel Sambuc.Fo krb5_digest_set_realm 177*ebfedea0SLionel Sambuc.Fa "krb5_context context" 178*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 179*ebfedea0SLionel Sambuc.Fa "const char *realm" 180*ebfedea0SLionel Sambuc.Fc 181*ebfedea0SLionel Sambuc.Ft krb5_error_code 182*ebfedea0SLionel Sambuc.Fo krb5_digest_set_method 183*ebfedea0SLionel Sambuc.Fa "krb5_context context" 184*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 185*ebfedea0SLionel Sambuc.Fa "const char *method" 186*ebfedea0SLionel Sambuc.Fc 187*ebfedea0SLionel Sambuc.Ft krb5_error_code 188*ebfedea0SLionel Sambuc.Fo krb5_digest_set_uri 189*ebfedea0SLionel Sambuc.Fa "krb5_context context" 190*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 191*ebfedea0SLionel Sambuc.Fa "const char *uri" 192*ebfedea0SLionel Sambuc.Fc 193*ebfedea0SLionel Sambuc.Ft krb5_error_code 194*ebfedea0SLionel Sambuc.Fo krb5_digest_set_nonceCount 195*ebfedea0SLionel Sambuc.Fa "krb5_context context" 196*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 197*ebfedea0SLionel Sambuc.Fa "const char *nonce_count" 198*ebfedea0SLionel Sambuc.Fc 199*ebfedea0SLionel Sambuc.Ft krb5_error_code 200*ebfedea0SLionel Sambuc.Fo krb5_digest_set_qop 201*ebfedea0SLionel Sambuc.Fa "krb5_context context" 202*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 203*ebfedea0SLionel Sambuc.Fa "const char *qop" 204*ebfedea0SLionel Sambuc.Fc 205*ebfedea0SLionel Sambuc.Ft krb5_error_code 206*ebfedea0SLionel Sambuc.Fo krb5_digest_request 207*ebfedea0SLionel Sambuc.Fa "krb5_context context" 208*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 209*ebfedea0SLionel Sambuc.Fa "krb5_realm realm" 210*ebfedea0SLionel Sambuc.Fa "krb5_ccache ccache" 211*ebfedea0SLionel Sambuc.Fc 212*ebfedea0SLionel Sambuc.Ft "const char *" 213*ebfedea0SLionel Sambuc.Fo krb5_digest_get_responseData 214*ebfedea0SLionel Sambuc.Fa "krb5_context context" 215*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 216*ebfedea0SLionel Sambuc.Fc 217*ebfedea0SLionel Sambuc.Ft "const char *" 218*ebfedea0SLionel Sambuc.Fo krb5_digest_get_rsp 219*ebfedea0SLionel Sambuc.Fa "krb5_context context" 220*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 221*ebfedea0SLionel Sambuc.Fc 222*ebfedea0SLionel Sambuc.Ft krb5_error_code 223*ebfedea0SLionel Sambuc.Fo krb5_digest_get_tickets 224*ebfedea0SLionel Sambuc.Fa "krb5_context context" 225*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 226*ebfedea0SLionel Sambuc.Fa "Ticket **tickets" 227*ebfedea0SLionel Sambuc.Fc 228*ebfedea0SLionel Sambuc.Ft krb5_error_code 229*ebfedea0SLionel Sambuc.Fo krb5_digest_get_client_binding 230*ebfedea0SLionel Sambuc.Fa "krb5_context context" 231*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 232*ebfedea0SLionel Sambuc.Fa "char **type" 233*ebfedea0SLionel Sambuc.Fa "char **binding" 234*ebfedea0SLionel Sambuc.Fc 235*ebfedea0SLionel Sambuc.Ft krb5_error_code 236*ebfedea0SLionel Sambuc.Fo krb5_digest_get_a1_hash 237*ebfedea0SLionel Sambuc.Fa "krb5_context context" 238*ebfedea0SLionel Sambuc.Fa "krb5_digest digest" 239*ebfedea0SLionel Sambuc.Fa "krb5_data *data" 240*ebfedea0SLionel Sambuc.Fc 241*ebfedea0SLionel Sambuc.Sh DESCRIPTION 242*ebfedea0SLionel SambucThe 243*ebfedea0SLionel Sambuc.Fn krb5_digest_alloc 244*ebfedea0SLionel Sambucfunction allocatates the 245*ebfedea0SLionel Sambuc.Fa digest 246*ebfedea0SLionel Sambucstructure. The structure should be freed with 247*ebfedea0SLionel Sambuc.Fn krb5_digest_free 248*ebfedea0SLionel Sambucwhen it is no longer being used. 249*ebfedea0SLionel Sambuc.Pp 250*ebfedea0SLionel Sambuc.Fn krb5_digest_alloc 251*ebfedea0SLionel Sambucreturns 0 to indicate success. 252*ebfedea0SLionel SambucOtherwise an kerberos code is returned and the pointer that 253*ebfedea0SLionel Sambuc.Fa digest 254*ebfedea0SLionel Sambucpoints to is set to 255*ebfedea0SLionel Sambuc.Dv NULL . 256*ebfedea0SLionel Sambuc.Pp 257*ebfedea0SLionel Sambuc.Fn krb5_digest_free 258*ebfedea0SLionel Sambucfree the structure 259*ebfedea0SLionel Sambuc.Fa digest . 260*ebfedea0SLionel Sambuc.Sh SEE ALSO 261*ebfedea0SLionel Sambuc.Xr krb5 3 , 262*ebfedea0SLionel Sambuc.Xr kerberos 8 263