|
Lines 144-150
userauth_pubkey(Authctxt *authctxt)
Link Here
|
| 144 |
#ifdef DEBUG_PK |
144 |
#ifdef DEBUG_PK |
| 145 |
buffer_dump(&b); |
145 |
buffer_dump(&b); |
| 146 |
#endif |
146 |
#endif |
| 147 |
pubkey_auth_info(authctxt, key); |
147 |
pubkey_auth_info(authctxt, key, NULL); |
| 148 |
|
148 |
|
| 149 |
/* test for correct signature */ |
149 |
/* test for correct signature */ |
| 150 |
authenticated = 0; |
150 |
authenticated = 0; |
|
Lines 187-203
done:
Link Here
|
| 187 |
} |
187 |
} |
| 188 |
|
188 |
|
| 189 |
void |
189 |
void |
| 190 |
pubkey_auth_info(Authctxt *authctxt, const Key *key) |
190 |
pubkey_auth_info(Authctxt *authctxt, const Key *key, const char *fmt, ...) |
| 191 |
{ |
191 |
{ |
| 192 |
char *fp; |
192 |
char *fp, *extra; |
|
|
193 |
va_list ap; |
| 194 |
int i; |
| 195 |
|
| 196 |
extra = NULL; |
| 197 |
if (fmt != NULL) { |
| 198 |
va_start(ap, fmt); |
| 199 |
i = vasprintf(&extra, fmt, ap); |
| 200 |
va_end(ap); |
| 201 |
if (i < 0 || extra == NULL) |
| 202 |
fatal("%s: vasprintf failed", __func__); |
| 203 |
} |
| 193 |
|
204 |
|
| 194 |
if (key_is_cert(key)) { |
205 |
if (key_is_cert(key)) { |
| 195 |
fp = key_fingerprint(key->cert->signature_key, |
206 |
fp = key_fingerprint(key->cert->signature_key, |
| 196 |
SSH_FP_MD5, SSH_FP_HEX); |
207 |
SSH_FP_MD5, SSH_FP_HEX); |
| 197 |
auth_info(authctxt, "%s ID %s (serial %llu) CA %s %s", |
208 |
auth_info(authctxt, "%s ID %s (serial %llu) CA %s %s%s%s", |
| 198 |
key_type(key), key->cert->key_id, |
209 |
key_type(key), key->cert->key_id, |
| 199 |
(unsigned long long)key->cert->serial, |
210 |
(unsigned long long)key->cert->serial, |
| 200 |
key_type(key->cert->signature_key), fp); |
211 |
key_type(key->cert->signature_key), fp, |
|
|
212 |
extra == NULL ? "" : ", ", extra == NULL ? "" : extra); |
| 201 |
free(fp); |
213 |
free(fp); |
| 202 |
} else { |
214 |
} else { |
| 203 |
fp = key_fingerprint(key, SSH_FP_MD5, SSH_FP_HEX); |
215 |
fp = key_fingerprint(key, SSH_FP_MD5, SSH_FP_HEX); |