update to pkinit-27
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15760 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
24
kdc/pkinit.c
24
kdc/pkinit.c
@@ -927,8 +927,10 @@ pk_mk_pa_reply_enckey(krb5_context context,
|
|||||||
enc_alg->parameters->data = params.data;
|
enc_alg->parameters->data = params.data;
|
||||||
enc_alg->parameters->length = params.length;
|
enc_alg->parameters->length = params.length;
|
||||||
|
|
||||||
if (client_params->type == PKINIT_COMPAT_WIN2K || client_params->type == PKINIT_COMPAT_19 || client_params->type == PKINIT_COMPAT_25) {
|
switch (client_params->type) {
|
||||||
ReplyKeyPack kp;
|
case PKINIT_COMPAT_WIN2K:
|
||||||
|
case PKINIT_COMPAT_19: {
|
||||||
|
ReplyKeyPack_19 kp;
|
||||||
memset(&kp, 0, sizeof(kp));
|
memset(&kp, 0, sizeof(kp));
|
||||||
|
|
||||||
ret = copy_EncryptionKey(reply_key, &kp.replyKey);
|
ret = copy_EncryptionKey(reply_key, &kp.replyKey);
|
||||||
@@ -938,9 +940,25 @@ pk_mk_pa_reply_enckey(krb5_context context,
|
|||||||
}
|
}
|
||||||
kp.nonce = client_params->nonce;
|
kp.nonce = client_params->nonce;
|
||||||
|
|
||||||
|
ASN1_MALLOC_ENCODE(ReplyKeyPack_19,
|
||||||
|
buf.data, buf.length,
|
||||||
|
&kp, &size,ret);
|
||||||
|
free_ReplyKeyPack_19(&kp);
|
||||||
|
}
|
||||||
|
case PKINIT_COMPAT_25: {
|
||||||
|
ReplyKeyPack kp;
|
||||||
|
memset(&kp, 0, sizeof(kp));
|
||||||
|
|
||||||
|
ret = copy_EncryptionKey(reply_key, &kp.replyKey);
|
||||||
|
if (ret) {
|
||||||
|
krb5_clear_error_string(context);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
/* XXX add whatever is the outcome of asChecksum discussion here */
|
||||||
ASN1_MALLOC_ENCODE(ReplyKeyPack, buf.data, buf.length, &kp, &size,ret);
|
ASN1_MALLOC_ENCODE(ReplyKeyPack, buf.data, buf.length, &kp, &size,ret);
|
||||||
free_ReplyKeyPack(&kp);
|
free_ReplyKeyPack(&kp);
|
||||||
} else {
|
}
|
||||||
|
default:
|
||||||
krb5_abortx(context, "internal pkinit error");
|
krb5_abortx(context, "internal pkinit error");
|
||||||
}
|
}
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
Reference in New Issue
Block a user