krb5 commit: Remove PKINIT draft 9 ASN.1 code and types

Greg Hudson ghudson at mit.edu
Wed Jun 26 13:30:58 EDT 2019


https://github.com/krb5/krb5/commit/c82e21d8836d4cb4c6ac7047752c9f600cb1ce33
commit c82e21d8836d4cb4c6ac7047752c9f600cb1ce33
Author: Greg Hudson <ghudson at mit.edu>
Date:   Tue Jun 18 11:40:48 2019 -0400

    Remove PKINIT draft 9 ASN.1 code and types
    
    ticket: 8817

 src/include/k5-int-pkinit.h        |   74 -------------------------------
 src/include/k5-int.h               |   30 +------------
 src/lib/krb5/asn.1/asn1_k_encode.c |   81 ----------------------------------
 src/lib/krb5/os/accessor.c         |    7 ---
 src/tests/asn.1/krb5_decode_test.c |   41 -----------------
 src/tests/asn.1/krb5_encode_test.c |   40 -----------------
 src/tests/asn.1/ktest.c            |   85 ------------------------------------
 src/tests/asn.1/ktest.h            |   11 -----
 src/tests/asn.1/ktest_equal.c      |   51 ---------------------
 src/tests/asn.1/ktest_equal.h      |    3 -
 src/tests/asn.1/pkinit_encode.out  |    5 --
 src/tests/asn.1/pkinit_trval.out   |   47 --------------------
 12 files changed, 1 insertions(+), 474 deletions(-)

diff --git a/src/include/k5-int-pkinit.h b/src/include/k5-int-pkinit.h
index 4622a62..c23cfd3 100644
--- a/src/include/k5-int-pkinit.h
+++ b/src/include/k5-int-pkinit.h
@@ -45,14 +45,6 @@ typedef struct _krb5_pk_authenticator {
     krb5_data      *freshnessToken;
 } krb5_pk_authenticator;
 
-/* PKAuthenticator draft9 */
-typedef struct _krb5_pk_authenticator_draft9 {
-    krb5_principal  kdcName;
-    krb5_int32      cusec;  /* (0..999999) */
-    krb5_timestamp  ctime;
-    krb5_int32      nonce;  /* (0..4294967295) */
-} krb5_pk_authenticator_draft9;
-
 /* AlgorithmIdentifier */
 typedef struct _krb5_algorithm_identifier {
     krb5_data algorithm;      /* OID */
@@ -74,12 +66,6 @@ typedef struct _krb5_auth_pack {
     krb5_data                   **supportedKDFs; /* OIDs of KDFs; OPTIONAL */
 } krb5_auth_pack;
 
-/* AuthPack draft9 */
-typedef struct _krb5_auth_pack_draft9 {
-    krb5_pk_authenticator_draft9 pkAuthenticator;
-    krb5_subject_pk_info        *clientPublicValue; /* Optional */
-} krb5_auth_pack_draft9;
-
 /* ExternalPrincipalIdentifier */
 typedef struct _krb5_external_principal_identifier {
     krb5_data subjectName; /* Optional */
@@ -87,14 +73,6 @@ typedef struct _krb5_external_principal_identifier {
     krb5_data subjectKeyIdentifier; /* Optional */
 } krb5_external_principal_identifier;
 
-/* PA-PK-AS-REQ (Draft 9 -- PA TYPE 14) */
-/* This has four fields, but we only care about the first and third for
- * encoding, and the only about the first for decoding. */
-typedef struct _krb5_pa_pk_as_req_draft9 {
-    krb5_data signedAuthPack;
-    krb5_data kdcCert; /* Optional */
-} krb5_pa_pk_as_req_draft9;
-
 /* PA-PK-AS-REQ (rfc4556 -- PA TYPE 16) */
 typedef struct _krb5_pa_pk_as_req {
     krb5_data signedAuthPack;
@@ -116,37 +94,12 @@ typedef struct _krb5_kdc_dh_key_info {
     krb5_timestamp  dhKeyExpiration; /* Optional */
 } krb5_kdc_dh_key_info;
 
-/* KDCDHKeyInfo draft9*/
-typedef struct _krb5_kdc_dh_key_info_draft9 {
-    krb5_data       subjectPublicKey; /* BIT STRING */
-    krb5_int32      nonce;  /* (0..4294967295) */
-} krb5_kdc_dh_key_info_draft9;
-
 /* ReplyKeyPack */
 typedef struct _krb5_reply_key_pack {
     krb5_keyblock   replyKey;
     krb5_checksum   asChecksum;
 } krb5_reply_key_pack;
 
-/* ReplyKeyPack */
-typedef struct _krb5_reply_key_pack_draft9 {
-    krb5_keyblock   replyKey;
-    krb5_int32      nonce;
-} krb5_reply_key_pack_draft9;
-
-/* PA-PK-AS-REP (Draft 9 -- PA TYPE 15) */
-typedef struct _krb5_pa_pk_as_rep_draft9 {
-    enum krb5_pa_pk_as_rep_draft9_selection {
-        choice_pa_pk_as_rep_draft9_UNKNOWN = -1,
-        choice_pa_pk_as_rep_draft9_dhSignedData = 0,
-        choice_pa_pk_as_rep_draft9_encKeyPack = 1
-    } choice;
-    union krb5_pa_pk_as_rep_draft9_choices {
-        krb5_data dhSignedData;
-        krb5_data encKeyPack;
-    } u;
-} krb5_pa_pk_as_rep_draft9;
-
 /* PA-PK-AS-REP (rfc4556 -- PA TYPE 17) */
 typedef struct _krb5_pa_pk_as_rep {
     enum krb5_pa_pk_as_rep_selection {
@@ -187,34 +140,18 @@ krb5_error_code
 encode_krb5_pa_pk_as_req(const krb5_pa_pk_as_req *rep, krb5_data **code);
 
 krb5_error_code
-encode_krb5_pa_pk_as_req_draft9(const krb5_pa_pk_as_req_draft9 *rep,
-                                krb5_data **code);
-
-krb5_error_code
 encode_krb5_pa_pk_as_rep(const krb5_pa_pk_as_rep *rep, krb5_data **code);
 
 krb5_error_code
-encode_krb5_pa_pk_as_rep_draft9(const krb5_pa_pk_as_rep_draft9 *rep,
-                                krb5_data **code);
-
-krb5_error_code
 encode_krb5_auth_pack(const krb5_auth_pack *rep, krb5_data **code);
 
 krb5_error_code
-encode_krb5_auth_pack_draft9(const krb5_auth_pack_draft9 *rep,
-                             krb5_data **code);
-
-krb5_error_code
 encode_krb5_kdc_dh_key_info(const krb5_kdc_dh_key_info *rep, krb5_data **code);
 
 krb5_error_code
 encode_krb5_reply_key_pack(const krb5_reply_key_pack *, krb5_data **code);
 
 krb5_error_code
-encode_krb5_reply_key_pack_draft9(const krb5_reply_key_pack_draft9 *,
-                                  krb5_data **code);
-
-krb5_error_code
 encode_krb5_td_trusted_certifiers(krb5_external_principal_identifier *const *,
                                   krb5_data **code);
 
@@ -238,19 +175,12 @@ krb5_error_code
 decode_krb5_pa_pk_as_req(const krb5_data *, krb5_pa_pk_as_req **);
 
 krb5_error_code
-decode_krb5_pa_pk_as_req_draft9(const krb5_data *,
-                                krb5_pa_pk_as_req_draft9 **);
-
-krb5_error_code
 decode_krb5_pa_pk_as_rep(const krb5_data *, krb5_pa_pk_as_rep **);
 
 krb5_error_code
 decode_krb5_auth_pack(const krb5_data *, krb5_auth_pack **);
 
 krb5_error_code
-decode_krb5_auth_pack_draft9(const krb5_data *, krb5_auth_pack_draft9 **);
-
-krb5_error_code
 decode_krb5_kdc_dh_key_info(const krb5_data *, krb5_kdc_dh_key_info **);
 
 krb5_error_code
@@ -260,10 +190,6 @@ krb5_error_code
 decode_krb5_reply_key_pack(const krb5_data *, krb5_reply_key_pack **);
 
 krb5_error_code
-decode_krb5_reply_key_pack_draft9(const krb5_data *,
-                                  krb5_reply_key_pack_draft9 **);
-
-krb5_error_code
 decode_krb5_td_trusted_certifiers(const krb5_data *,
                                   krb5_external_principal_identifier ***);
 
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index 3bef20c..1d991e7 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -1860,7 +1860,7 @@ krb5int_random_string(krb5_context, char *string, unsigned int length);
 /* To keep happy libraries which are (for now) accessing internal stuff */
 
 /* Make sure to increment by one when changing the struct */
-#define KRB5INT_ACCESS_STRUCT_VERSION 22
+#define KRB5INT_ACCESS_STRUCT_VERSION 23
 
 typedef struct _krb5int_access {
     krb5_error_code (*auth_con_get_subkey_enctype)(krb5_context,
@@ -1890,10 +1890,6 @@ typedef struct _krb5int_access {
     (*encode_krb5_auth_pack)(const krb5_auth_pack *rep, krb5_data **code);
 
     krb5_error_code
-    (*encode_krb5_auth_pack_draft9)(const krb5_auth_pack_draft9 *rep,
-                                    krb5_data **code);
-
-    krb5_error_code
     (*encode_krb5_kdc_dh_key_info)(const krb5_kdc_dh_key_info *rep,
                                    krb5_data **code);
 
@@ -1902,26 +1898,14 @@ typedef struct _krb5int_access {
                                 krb5_data **code);
 
     krb5_error_code
-    (*encode_krb5_pa_pk_as_rep_draft9)(const krb5_pa_pk_as_rep_draft9 *rep,
-                                       krb5_data **code);
-
-    krb5_error_code
     (*encode_krb5_pa_pk_as_req)(const krb5_pa_pk_as_req *rep,
                                 krb5_data **code);
 
     krb5_error_code
-    (*encode_krb5_pa_pk_as_req_draft9)(const krb5_pa_pk_as_req_draft9 *rep,
-                                       krb5_data **code);
-
-    krb5_error_code
     (*encode_krb5_reply_key_pack)(const krb5_reply_key_pack *,
                                   krb5_data **code);
 
     krb5_error_code
-    (*encode_krb5_reply_key_pack_draft9)(const krb5_reply_key_pack_draft9 *,
-                                         krb5_data **code);
-
-    krb5_error_code
     (*encode_krb5_td_dh_parameters)(krb5_algorithm_identifier *const *,
                                     krb5_data **code);
 
@@ -1933,17 +1917,9 @@ typedef struct _krb5int_access {
     (*decode_krb5_auth_pack)(const krb5_data *, krb5_auth_pack **);
 
     krb5_error_code
-    (*decode_krb5_auth_pack_draft9)(const krb5_data *,
-                                    krb5_auth_pack_draft9 **);
-
-    krb5_error_code
     (*decode_krb5_pa_pk_as_req)(const krb5_data *, krb5_pa_pk_as_req **);
 
     krb5_error_code
-    (*decode_krb5_pa_pk_as_req_draft9)(const krb5_data *,
-                                       krb5_pa_pk_as_req_draft9 **);
-
-    krb5_error_code
     (*decode_krb5_pa_pk_as_rep)(const krb5_data *, krb5_pa_pk_as_rep **);
 
     krb5_error_code
@@ -1956,10 +1932,6 @@ typedef struct _krb5int_access {
     (*decode_krb5_reply_key_pack)(const krb5_data *, krb5_reply_key_pack **);
 
     krb5_error_code
-    (*decode_krb5_reply_key_pack_draft9)(const krb5_data *,
-                                         krb5_reply_key_pack_draft9 **);
-
-    krb5_error_code
     (*decode_krb5_td_dh_parameters)(const krb5_data *,
                                     krb5_algorithm_identifier ***);
 
diff --git a/src/lib/krb5/asn.1/asn1_k_encode.c b/src/lib/krb5/asn.1/asn1_k_encode.c
index 81a34ba..a026ab3 100644
--- a/src/lib/krb5/asn.1/asn1_k_encode.c
+++ b/src/lib/krb5/asn.1/asn1_k_encode.c
@@ -1446,19 +1446,6 @@ static const struct atype_info *pk_authenticator_fields[] = {
 };
 DEFSEQTYPE(pk_authenticator, krb5_pk_authenticator, pk_authenticator_fields);
 
-DEFFIELD(pkauth9_0, krb5_pk_authenticator_draft9, kdcName, 0, principal);
-DEFFIELD(pkauth9_1, krb5_pk_authenticator_draft9, kdcName, 1,
-         realm_of_principal);
-DEFFIELD(pkauth9_2, krb5_pk_authenticator_draft9, cusec, 2, int32);
-DEFFIELD(pkauth9_3, krb5_pk_authenticator_draft9, ctime, 3, kerberos_time);
-DEFFIELD(pkauth9_4, krb5_pk_authenticator_draft9, nonce, 4, int32);
-static const struct atype_info *pk_authenticator_draft9_fields[] = {
-    &k5_atype_pkauth9_0, &k5_atype_pkauth9_1, &k5_atype_pkauth9_2,
-    &k5_atype_pkauth9_3, &k5_atype_pkauth9_4
-};
-DEFSEQTYPE(pk_authenticator_draft9, krb5_pk_authenticator_draft9,
-           pk_authenticator_draft9_fields);
-
 DEFCOUNTEDSTRINGTYPE(s_bitstring, char *, unsigned int,
                      k5_asn1_encode_bitstring, k5_asn1_decode_bitstring,
                      ASN1_BITSTRING);
@@ -1488,15 +1475,6 @@ static const struct atype_info *auth_pack_fields[] = {
 };
 DEFSEQTYPE(auth_pack, krb5_auth_pack, auth_pack_fields);
 
-DEFFIELD(auth_pack9_0, krb5_auth_pack_draft9, pkAuthenticator, 0,
-         pk_authenticator_draft9);
-DEFFIELD(auth_pack9_1, krb5_auth_pack_draft9, clientPublicValue, 1,
-         opt_subject_pk_info_ptr);
-static const struct atype_info *auth_pack_draft9_fields[] = {
-    &k5_atype_auth_pack9_0, &k5_atype_auth_pack9_1
-};
-DEFSEQTYPE(auth_pack_draft9, krb5_auth_pack_draft9, auth_pack_draft9_fields);
-
 DEFFIELD_IMPLICIT(extprinc_0, krb5_external_principal_identifier,
                   subjectName, 0, opt_ostring_data);
 DEFFIELD_IMPLICIT(extprinc_1, krb5_external_principal_identifier,
@@ -1529,29 +1507,6 @@ static const struct atype_info *pa_pk_as_req_fields[] = {
 };
 DEFSEQTYPE(pa_pk_as_req, krb5_pa_pk_as_req, pa_pk_as_req_fields);
 
-/*
- * In draft-ietf-cat-kerberos-pk-init-09, this sequence has four fields, but we
- * only ever use the first and third.  The fields are specified as explicitly
- * tagged, but our historical behavior is to pretend that they are wrapped in
- * IMPLICIT OCTET STRING (i.e., generate primitive context tags), and we don't
- * want to change that without interop testing.
- */
-DEFFIELD_IMPLICIT(pa_pk_as_req9_0, krb5_pa_pk_as_req_draft9, signedAuthPack, 0,
-                  ostring_data);
-DEFFIELD_IMPLICIT(pa_pk_as_req9_2, krb5_pa_pk_as_req_draft9, kdcCert, 2,
-                  opt_ostring_data);
-static const struct atype_info *pa_pk_as_req_draft9_fields[] = {
-    &k5_atype_pa_pk_as_req9_0, &k5_atype_pa_pk_as_req9_2
-};
-DEFSEQTYPE(pa_pk_as_req_draft9, krb5_pa_pk_as_req_draft9,
-           pa_pk_as_req_draft9_fields);
-/* For decoding, we only care about the first field; we can ignore the rest. */
-static const struct atype_info *pa_pk_as_req_draft9_decode_fields[] = {
-    &k5_atype_pa_pk_as_req9_0
-};
-DEFSEQTYPE(pa_pk_as_req_draft9_decode, krb5_pa_pk_as_req_draft9,
-           pa_pk_as_req_draft9_decode_fields);
-
 DEFFIELD_IMPLICIT(dh_rep_info_0, krb5_dh_rep_info, dhSignedData, 0,
                   ostring_data);
 DEFFIELD(dh_rep_info_1, krb5_dh_rep_info, serverDHNonce, 1, opt_ostring_data);
@@ -1577,14 +1532,6 @@ static const struct atype_info *reply_key_pack_fields[] = {
 };
 DEFSEQTYPE(reply_key_pack, krb5_reply_key_pack, reply_key_pack_fields);
 
-DEFFIELD(key_pack9_0, krb5_reply_key_pack_draft9, replyKey, 0, encryption_key);
-DEFFIELD(key_pack9_1, krb5_reply_key_pack_draft9, nonce, 1, int32);
-static const struct atype_info *reply_key_pack_draft9_fields[] = {
-    &k5_atype_key_pack9_0, &k5_atype_key_pack9_1
-};
-DEFSEQTYPE(reply_key_pack_draft9, krb5_reply_key_pack_draft9,
-           reply_key_pack_draft9_fields);
-
 DEFCTAGGEDTYPE(pa_pk_as_rep_0, 0, dh_rep_info);
 DEFCTAGGEDTYPE_IMPLICIT(pa_pk_as_rep_1, 1, ostring_data);
 static const struct atype_info *pa_pk_as_rep_alternatives[] = {
@@ -1595,44 +1542,16 @@ DEFCHOICETYPE(pa_pk_as_rep_choice, union krb5_pa_pk_as_rep_choices,
 DEFCOUNTEDTYPE_SIGNED(pa_pk_as_rep, krb5_pa_pk_as_rep, u, choice,
                       pa_pk_as_rep_choice);
 
-/*
- * draft-ietf-cat-kerberos-pk-init-09 specifies these alternatives as
- * explicitly tagged SignedData and EnvelopedData respectively, which means
- * they should have constructed context tags.  However, our historical behavior
- * is to use primitive context tags, and we don't want to change that behavior
- * without interop testing.  We have the encodings for each alternative in a
- * krb5_data object; pretend that they are wrapped in IMPLICIT OCTET STRING in
- * order to wrap them in primitive [0] and [1] tags.
- */
-DEFCTAGGEDTYPE_IMPLICIT(pa_pk_as_rep9_0, 0, ostring_data);
-DEFCTAGGEDTYPE_IMPLICIT(pa_pk_as_rep9_1, 1, ostring_data);
-static const struct atype_info *pa_pk_as_rep_draft9_alternatives[] = {
-    &k5_atype_pa_pk_as_rep9_0, &k5_atype_pa_pk_as_rep9_1
-};
-DEFCHOICETYPE(pa_pk_as_rep_draft9_choice,
-              union krb5_pa_pk_as_rep_draft9_choices,
-              enum krb5_pa_pk_as_rep_draft9_selection,
-              pa_pk_as_rep_draft9_alternatives);
-DEFCOUNTEDTYPE_SIGNED(pa_pk_as_rep_draft9, krb5_pa_pk_as_rep_draft9, u, choice,
-                      pa_pk_as_rep_draft9_choice);
-
 MAKE_ENCODER(encode_krb5_pa_pk_as_req, pa_pk_as_req);
 MAKE_DECODER(decode_krb5_pa_pk_as_req, pa_pk_as_req);
-MAKE_ENCODER(encode_krb5_pa_pk_as_req_draft9, pa_pk_as_req_draft9);
-MAKE_DECODER(decode_krb5_pa_pk_as_req_draft9, pa_pk_as_req_draft9_decode);
 MAKE_ENCODER(encode_krb5_pa_pk_as_rep, pa_pk_as_rep);
 MAKE_DECODER(decode_krb5_pa_pk_as_rep, pa_pk_as_rep);
-MAKE_ENCODER(encode_krb5_pa_pk_as_rep_draft9, pa_pk_as_rep_draft9);
 MAKE_ENCODER(encode_krb5_auth_pack, auth_pack);
 MAKE_DECODER(decode_krb5_auth_pack, auth_pack);
-MAKE_ENCODER(encode_krb5_auth_pack_draft9, auth_pack_draft9);
-MAKE_DECODER(decode_krb5_auth_pack_draft9, auth_pack_draft9);
 MAKE_ENCODER(encode_krb5_kdc_dh_key_info, kdc_dh_key_info);
 MAKE_DECODER(decode_krb5_kdc_dh_key_info, kdc_dh_key_info);
 MAKE_ENCODER(encode_krb5_reply_key_pack, reply_key_pack);
 MAKE_DECODER(decode_krb5_reply_key_pack, reply_key_pack);
-MAKE_ENCODER(encode_krb5_reply_key_pack_draft9, reply_key_pack_draft9);
-MAKE_DECODER(decode_krb5_reply_key_pack_draft9, reply_key_pack_draft9);
 MAKE_ENCODER(encode_krb5_td_trusted_certifiers,
              seqof_external_principal_identifier);
 MAKE_DECODER(decode_krb5_td_trusted_certifiers,
diff --git a/src/lib/krb5/os/accessor.c b/src/lib/krb5/os/accessor.c
index d77f8c6..12a39a2 100644
--- a/src/lib/krb5/os/accessor.c
+++ b/src/lib/krb5/os/accessor.c
@@ -80,25 +80,18 @@ krb5int_accessor(krb5int_access *internals, krb5_int32 version)
 #define SC(FIELD, VAL)  S(FIELD, 0)
 #endif
             SC (encode_krb5_pa_pk_as_req, encode_krb5_pa_pk_as_req),
-            SC (encode_krb5_pa_pk_as_req_draft9, encode_krb5_pa_pk_as_req_draft9),
             SC (encode_krb5_pa_pk_as_rep, encode_krb5_pa_pk_as_rep),
-            SC (encode_krb5_pa_pk_as_rep_draft9, encode_krb5_pa_pk_as_rep_draft9),
             SC (encode_krb5_auth_pack, encode_krb5_auth_pack),
-            SC (encode_krb5_auth_pack_draft9, encode_krb5_auth_pack_draft9),
             SC (encode_krb5_kdc_dh_key_info, encode_krb5_kdc_dh_key_info),
             SC (encode_krb5_reply_key_pack, encode_krb5_reply_key_pack),
-            SC (encode_krb5_reply_key_pack_draft9, encode_krb5_reply_key_pack_draft9),
             SC (encode_krb5_td_trusted_certifiers, encode_krb5_td_trusted_certifiers),
             SC (encode_krb5_td_dh_parameters, encode_krb5_td_dh_parameters),
             SC (decode_krb5_pa_pk_as_req, decode_krb5_pa_pk_as_req),
-            SC (decode_krb5_pa_pk_as_req_draft9, decode_krb5_pa_pk_as_req_draft9),
             SC (decode_krb5_pa_pk_as_rep, decode_krb5_pa_pk_as_rep),
             SC (decode_krb5_auth_pack, decode_krb5_auth_pack),
-            SC (decode_krb5_auth_pack_draft9, decode_krb5_auth_pack_draft9),
             SC (decode_krb5_kdc_dh_key_info, decode_krb5_kdc_dh_key_info),
             SC (decode_krb5_principal_name, decode_krb5_principal_name),
             SC (decode_krb5_reply_key_pack, decode_krb5_reply_key_pack),
-            SC (decode_krb5_reply_key_pack_draft9, decode_krb5_reply_key_pack_draft9),
             SC (decode_krb5_td_trusted_certifiers, decode_krb5_td_trusted_certifiers),
             SC (decode_krb5_td_dh_parameters, decode_krb5_td_dh_parameters),
             SC (encode_krb5_kdc_req_body, encode_krb5_kdc_req_body),
diff --git a/src/tests/asn.1/krb5_decode_test.c b/src/tests/asn.1/krb5_decode_test.c
index cbd99ba..7a116b4 100644
--- a/src/tests/asn.1/krb5_decode_test.c
+++ b/src/tests/asn.1/krb5_decode_test.c
@@ -42,8 +42,6 @@ void krb5_ktest_free_enc_data(krb5_context context, krb5_enc_data *val);
 #ifndef DISABLE_PKINIT
 static int equal_principal(krb5_principal *ref, krb5_principal var);
 static void ktest_free_auth_pack(krb5_context context, krb5_auth_pack *val);
-static void ktest_free_auth_pack_draft9(krb5_context context,
-                                        krb5_auth_pack_draft9 *val);
 static void ktest_free_kdc_dh_key_info(krb5_context context,
                                        krb5_kdc_dh_key_info *val);
 static void ktest_free_pa_pk_as_req(krb5_context context,
@@ -52,8 +50,6 @@ static void ktest_free_pa_pk_as_rep(krb5_context context,
                                     krb5_pa_pk_as_rep *val);
 static void ktest_free_reply_key_pack(krb5_context context,
                                       krb5_reply_key_pack *val);
-static void ktest_free_reply_key_pack_draft9(krb5_context context,
-                                             krb5_reply_key_pack_draft9 *val);
 #endif
 static void ktest_free_kkdcp_message(krb5_context context,
                                      krb5_kkdcp_message *val);
@@ -1184,16 +1180,6 @@ int main(argc, argv)
     }
 
     /****************************************************************/
-    /* decode_krb5_auth_pack_draft9 */
-    {
-        setup(krb5_auth_pack_draft9,ktest_make_sample_auth_pack_draft9);
-        decode_run("krb5_auth_pack_draft9","","30 75 A0 4F 30 4D A0 1A 30 18 A0 03 02 01 01 A1 11 30 0F 1B 06 68 66 74 73 61 69 1B 05 65 78 74 72 61 A1 10 1B 0E 41 54 48 45 4E 41 2E 4D 49 54 2E 45 44 55 A2 05 02 03 01 E2 40 A3 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A A4 03 02 01 2A A1 22 30 20 30 13 06 09 2A 86 48 86 F7 12 01 02 02 04 06 70 61 72 61 6D 73 03 09 00 6B 72 62 35 64 61 74 61",
-                   acc.decode_krb5_auth_pack_draft9,
-                   ktest_equal_auth_pack_draft9,ktest_free_auth_pack_draft9);
-        ktest_empty_auth_pack_draft9(&ref);
-    }
-
-    /****************************************************************/
     /* decode_krb5_kdc_dh_key_info */
     {
         setup(krb5_kdc_dh_key_info,ktest_make_sample_kdc_dh_key_info);
@@ -1214,16 +1200,6 @@ int main(argc, argv)
     }
 
     /****************************************************************/
-    /* decode_krb5_reply_key_pack_draft9 */
-    {
-        setup(krb5_reply_key_pack_draft9,ktest_make_sample_reply_key_pack_draft9);
-        decode_run("krb5_reply_key_pack_draft9","","30 1A A0 13 30 11 A0 03 02 01 01 A1 0A 04 08 31 32 33 34 35 36 37 38 A1 03 02 01 2A",
-                   acc.decode_krb5_reply_key_pack_draft9,
-                   ktest_equal_reply_key_pack_draft9,ktest_free_reply_key_pack_draft9);
-        ktest_empty_reply_key_pack_draft9(&ref);
-    }
-
-    /****************************************************************/
     /* decode_krb5_principal_name */
     /* We have no encoder for this type (KerberosName from RFC 4556); the
      * encoding is hand-generated. */
@@ -1280,14 +1256,6 @@ ktest_free_auth_pack(krb5_context context, krb5_auth_pack *val)
 }
 
 static void
-ktest_free_auth_pack_draft9(krb5_context context, krb5_auth_pack_draft9 *val)
-{
-    if (val)
-        ktest_empty_auth_pack_draft9(val);
-    free(val);
-}
-
-static void
 ktest_free_kdc_dh_key_info(krb5_context context, krb5_kdc_dh_key_info *val)
 {
     if (val)
@@ -1319,15 +1287,6 @@ ktest_free_reply_key_pack(krb5_context context, krb5_reply_key_pack *val)
     free(val);
 }
 
-static void
-ktest_free_reply_key_pack_draft9(krb5_context context,
-                                 krb5_reply_key_pack_draft9 *val)
-{
-    if (val)
-        ktest_empty_reply_key_pack_draft9(val);
-    free(val);
-}
-
 #endif /* not DISABLE_PKINIT */
 
 static void
diff --git a/src/tests/asn.1/krb5_encode_test.c b/src/tests/asn.1/krb5_encode_test.c
index 3efbfb4..72c0134 100644
--- a/src/tests/asn.1/krb5_encode_test.c
+++ b/src/tests/asn.1/krb5_encode_test.c
@@ -798,15 +798,6 @@ main(argc, argv)
         ktest_empty_pa_pk_as_req(&req);
     }
     /****************************************************************/
-    /* encode_krb5_pa_pk_as_req_draft9 */
-    {
-        krb5_pa_pk_as_req_draft9 req;
-        ktest_make_sample_pa_pk_as_req_draft9(&req);
-        encode_run(req, "pa_pk_as_req_draft9", "",
-                   acc.encode_krb5_pa_pk_as_req_draft9);
-        ktest_empty_pa_pk_as_req_draft9(&req);
-    }
-    /****************************************************************/
     /* encode_krb5_pa_pk_as_rep */
     {
         krb5_pa_pk_as_rep rep;
@@ -820,19 +811,6 @@ main(argc, argv)
         ktest_empty_pa_pk_as_rep(&rep);
     }
     /****************************************************************/
-    /* encode_krb5_pa_pk_as_rep_draft9 */
-    {
-        krb5_pa_pk_as_rep_draft9 rep;
-        ktest_make_sample_pa_pk_as_rep_draft9_dhSignedData(&rep);
-        encode_run(rep, "pa_pk_as_rep_draft9", "(dhSignedData)",
-                   acc.encode_krb5_pa_pk_as_rep_draft9);
-        ktest_empty_pa_pk_as_rep_draft9(&rep);
-        ktest_make_sample_pa_pk_as_rep_draft9_encKeyPack(&rep);
-        encode_run(rep, "pa_pk_as_rep_draft9", "(encKeyPack)",
-                   acc.encode_krb5_pa_pk_as_rep_draft9);
-        ktest_empty_pa_pk_as_rep_draft9(&rep);
-    }
-    /****************************************************************/
     /* encode_krb5_auth_pack */
     {
         krb5_auth_pack pack;
@@ -841,15 +819,6 @@ main(argc, argv)
         ktest_empty_auth_pack(&pack);
     }
     /****************************************************************/
-    /* encode_krb5_auth_pack_draft9_draft9 */
-    {
-        krb5_auth_pack_draft9 pack;
-        ktest_make_sample_auth_pack_draft9(&pack);
-        encode_run(pack, "auth_pack_draft9", "",
-                   acc.encode_krb5_auth_pack_draft9);
-        ktest_empty_auth_pack_draft9(&pack);
-    }
-    /****************************************************************/
     /* encode_krb5_kdc_dh_key_info */
     {
         krb5_kdc_dh_key_info ki;
@@ -866,15 +835,6 @@ main(argc, argv)
         ktest_empty_reply_key_pack(&pack);
     }
     /****************************************************************/
-    /* encode_krb5_reply_key_pack_draft9 */
-    {
-        krb5_reply_key_pack_draft9 pack;
-        ktest_make_sample_reply_key_pack_draft9(&pack);
-        encode_run(pack, "reply_key_pack_draft9", "",
-                   acc.encode_krb5_reply_key_pack_draft9);
-        ktest_empty_reply_key_pack_draft9(&pack);
-    }
-    /****************************************************************/
     /* encode_krb5_sp80056a_other_info */
     {
         krb5_sp80056a_other_info info;
diff --git a/src/tests/asn.1/ktest.c b/src/tests/asn.1/ktest.c
index 2583772..7bb6987 100644
--- a/src/tests/asn.1/ktest.c
+++ b/src/tests/asn.1/ktest.c
@@ -730,15 +730,6 @@ ktest_make_sample_pk_authenticator(krb5_pk_authenticator *p)
 }
 
 static void
-ktest_make_sample_pk_authenticator_draft9(krb5_pk_authenticator_draft9 *p)
-{
-    ktest_make_sample_principal(&p->kdcName);
-    p->cusec = SAMPLE_USEC;
-    p->ctime = SAMPLE_TIME;
-    p->nonce = SAMPLE_NONCE;
-}
-
-static void
 ktest_make_sample_oid(krb5_data *p)
 {
     krb5_data_parse(p, "\052\206\110\206\367\022\001\002\002");
@@ -788,13 +779,6 @@ ktest_make_sample_pa_pk_as_req(krb5_pa_pk_as_req *p)
     ktest_make_sample_data(&p->kdcPkId);
 }
 
-void
-ktest_make_sample_pa_pk_as_req_draft9(krb5_pa_pk_as_req_draft9 *p)
-{
-    ktest_make_sample_data(&p->signedAuthPack);
-    ktest_make_sample_data(&p->kdcCert);
-}
-
 static void
 ktest_make_sample_dh_rep_info(krb5_dh_rep_info *p)
 {
@@ -819,20 +803,6 @@ ktest_make_sample_pa_pk_as_rep_encKeyPack(krb5_pa_pk_as_rep *p)
 }
 
 void
-ktest_make_sample_pa_pk_as_rep_draft9_dhSignedData(krb5_pa_pk_as_rep_draft9 *p)
-{
-    p->choice = choice_pa_pk_as_rep_draft9_dhSignedData;
-    ktest_make_sample_data(&p->u.dhSignedData);
-}
-
-void
-ktest_make_sample_pa_pk_as_rep_draft9_encKeyPack(krb5_pa_pk_as_rep_draft9 *p)
-{
-    p->choice = choice_pa_pk_as_rep_draft9_encKeyPack;
-    ktest_make_sample_data(&p->u.encKeyPack);
-}
-
-void
 ktest_make_sample_auth_pack(krb5_auth_pack *p)
 {
     ktest_make_sample_pk_authenticator(&p->pkAuthenticator);
@@ -852,14 +822,6 @@ ktest_make_sample_auth_pack(krb5_auth_pack *p)
 }
 
 void
-ktest_make_sample_auth_pack_draft9(krb5_auth_pack_draft9 *p)
-{
-    ktest_make_sample_pk_authenticator_draft9(&p->pkAuthenticator);
-    p->clientPublicValue = ealloc(sizeof(krb5_subject_pk_info));
-    ktest_make_sample_subject_pk_info(p->clientPublicValue);
-}
-
-void
 ktest_make_sample_kdc_dh_key_info(krb5_kdc_dh_key_info *p)
 {
     ktest_make_sample_data(&p->subjectPublicKey);
@@ -875,13 +837,6 @@ ktest_make_sample_reply_key_pack(krb5_reply_key_pack *p)
 }
 
 void
-ktest_make_sample_reply_key_pack_draft9(krb5_reply_key_pack_draft9 *p)
-{
-    ktest_make_sample_keyblock(&p->replyKey);
-    p->nonce = SAMPLE_NONCE;
-}
-
-void
 ktest_make_sample_sp80056a_other_info(krb5_sp80056a_other_info *p)
 {
     ktest_make_sample_algorithm_identifier_no_params(&p->algorithm_identifier);
@@ -1718,12 +1673,6 @@ ktest_empty_pk_authenticator(krb5_pk_authenticator *p)
 }
 
 static void
-ktest_empty_pk_authenticator_draft9(krb5_pk_authenticator_draft9 *p)
-{
-    ktest_destroy_principal(&p->kdcName);
-}
-
-static void
 ktest_empty_subject_pk_info(krb5_subject_pk_info *p)
 {
     ktest_empty_algorithm_identifier(&p->algorithm);
@@ -1754,13 +1703,6 @@ ktest_empty_pa_pk_as_req(krb5_pa_pk_as_req *p)
     ktest_empty_data(&p->kdcPkId);
 }
 
-void
-ktest_empty_pa_pk_as_req_draft9(krb5_pa_pk_as_req_draft9 *p)
-{
-    ktest_empty_data(&p->signedAuthPack);
-    ktest_empty_data(&p->kdcCert);
-}
-
 static void
 ktest_empty_dh_rep_info(krb5_dh_rep_info *p)
 {
@@ -1780,16 +1722,6 @@ ktest_empty_pa_pk_as_rep(krb5_pa_pk_as_rep *p)
 }
 
 void
-ktest_empty_pa_pk_as_rep_draft9(krb5_pa_pk_as_rep_draft9 *p)
-{
-    if (p->choice == choice_pa_pk_as_rep_draft9_dhSignedData)
-        ktest_empty_data(&p->u.dhSignedData);
-    else if (p->choice == choice_pa_pk_as_rep_draft9_encKeyPack)
-        ktest_empty_data(&p->u.encKeyPack);
-    p->choice = choice_pa_pk_as_rep_draft9_UNKNOWN;
-}
-
-void
 ktest_empty_auth_pack(krb5_auth_pack *p)
 {
     krb5_algorithm_identifier **ai;
@@ -1821,17 +1753,6 @@ ktest_empty_auth_pack(krb5_auth_pack *p)
 }
 
 void
-ktest_empty_auth_pack_draft9(krb5_auth_pack_draft9 *p)
-{
-    ktest_empty_pk_authenticator_draft9(&p->pkAuthenticator);
-    if (p->clientPublicValue != NULL) {
-        ktest_empty_subject_pk_info(p->clientPublicValue);
-        free(p->clientPublicValue);
-        p->clientPublicValue = NULL;
-    }
-}
-
-void
 ktest_empty_kdc_dh_key_info(krb5_kdc_dh_key_info *p)
 {
     ktest_empty_data(&p->subjectPublicKey);
@@ -1844,12 +1765,6 @@ ktest_empty_reply_key_pack(krb5_reply_key_pack *p)
     ktest_empty_checksum(&p->asChecksum);
 }
 
-void
-ktest_empty_reply_key_pack_draft9(krb5_reply_key_pack_draft9 *p)
-{
-    ktest_empty_keyblock(&p->replyKey);
-}
-
 void ktest_empty_sp80056a_other_info(krb5_sp80056a_other_info *p)
 {
     ktest_empty_algorithm_identifier(&p->algorithm_identifier);
diff --git a/src/tests/asn.1/ktest.h b/src/tests/asn.1/ktest.h
index 1413cfa..d9cc90a 100644
--- a/src/tests/asn.1/ktest.h
+++ b/src/tests/asn.1/ktest.h
@@ -101,18 +101,11 @@ void ktest_make_maximal_pa_otp_req(krb5_pa_otp_req *p);
 
 #ifndef DISABLE_PKINIT
 void ktest_make_sample_pa_pk_as_req(krb5_pa_pk_as_req *p);
-void ktest_make_sample_pa_pk_as_req_draft9(krb5_pa_pk_as_req_draft9 *p);
 void ktest_make_sample_pa_pk_as_rep_dhInfo(krb5_pa_pk_as_rep *p);
 void ktest_make_sample_pa_pk_as_rep_encKeyPack(krb5_pa_pk_as_rep *p);
-void ktest_make_sample_pa_pk_as_rep_draft9_dhSignedData(
-    krb5_pa_pk_as_rep_draft9 *p);
-void ktest_make_sample_pa_pk_as_rep_draft9_encKeyPack(
-    krb5_pa_pk_as_rep_draft9 *p);
 void ktest_make_sample_auth_pack(krb5_auth_pack *p);
-void ktest_make_sample_auth_pack_draft9(krb5_auth_pack_draft9 *p);
 void ktest_make_sample_kdc_dh_key_info(krb5_kdc_dh_key_info *p);
 void ktest_make_sample_reply_key_pack(krb5_reply_key_pack *p);
-void ktest_make_sample_reply_key_pack_draft9(krb5_reply_key_pack_draft9 *p);
 void ktest_make_sample_sp80056a_other_info(krb5_sp80056a_other_info *p);
 void ktest_make_sample_pkinit_supp_pub_info(krb5_pkinit_supp_pub_info *p);
 #endif
@@ -197,14 +190,10 @@ void ktest_empty_pa_otp_req(krb5_pa_otp_req *p);
 
 #ifndef DISABLE_PKINIT
 void ktest_empty_pa_pk_as_req(krb5_pa_pk_as_req *p);
-void ktest_empty_pa_pk_as_req_draft9(krb5_pa_pk_as_req_draft9 *p);
 void ktest_empty_pa_pk_as_rep(krb5_pa_pk_as_rep *p);
-void ktest_empty_pa_pk_as_rep_draft9(krb5_pa_pk_as_rep_draft9 *p);
 void ktest_empty_auth_pack(krb5_auth_pack *p);
-void ktest_empty_auth_pack_draft9(krb5_auth_pack_draft9 *p);
 void ktest_empty_kdc_dh_key_info(krb5_kdc_dh_key_info *p);
 void ktest_empty_reply_key_pack(krb5_reply_key_pack *p);
-void ktest_empty_reply_key_pack_draft9(krb5_reply_key_pack_draft9 *p);
 void ktest_empty_sp80056a_other_info(krb5_sp80056a_other_info *p);
 void ktest_empty_pkinit_supp_pub_info(krb5_pkinit_supp_pub_info *p);
 #endif
diff --git a/src/tests/asn.1/ktest_equal.c b/src/tests/asn.1/ktest_equal.c
index 98a7c79..eed6872 100644
--- a/src/tests/asn.1/ktest_equal.c
+++ b/src/tests/asn.1/ktest_equal.c
@@ -877,20 +877,6 @@ ktest_equal_pk_authenticator(krb5_pk_authenticator *ref,
 }
 
 static int
-ktest_equal_pk_authenticator_draft9(krb5_pk_authenticator_draft9 *ref,
-                                    krb5_pk_authenticator_draft9 *var)
-{
-    int p = TRUE;
-    if (ref == var) return TRUE;
-    else if (ref == NULL || var == NULL) return FALSE;
-    p = p && ptr_equal(kdcName, ktest_equal_principal_data);
-    p = p && scalar_equal(cusec);
-    p = p && scalar_equal(ctime);
-    p = p && scalar_equal(nonce);
-    return p;
-}
-
-static int
 ktest_equal_subject_pk_info(krb5_subject_pk_info *ref,
                             krb5_subject_pk_info *var)
 {
@@ -937,18 +923,6 @@ ktest_equal_pa_pk_as_req(krb5_pa_pk_as_req *ref, krb5_pa_pk_as_req *var)
     return p;
 }
 
-int
-ktest_equal_pa_pk_as_req_draft9(krb5_pa_pk_as_req_draft9 *ref,
-                                krb5_pa_pk_as_req_draft9 *var)
-{
-    int p = TRUE;
-    if (ref == var) return TRUE;
-    else if (ref == NULL || var == NULL) return FALSE;
-    p = p && equal_str(signedAuthPack);
-    p = p && equal_str(kdcCert);
-    return p;
-}
-
 static int
 ktest_equal_dh_rep_info(krb5_dh_rep_info *ref, krb5_dh_rep_info *var)
 {
@@ -997,19 +971,6 @@ ktest_equal_auth_pack(krb5_auth_pack *ref, krb5_auth_pack *var)
 }
 
 int
-ktest_equal_auth_pack_draft9(krb5_auth_pack_draft9 *ref,
-                             krb5_auth_pack_draft9 *var)
-{
-    int p = TRUE;
-    if (ref == var) return TRUE;
-    else if (ref == NULL || var == NULL) return FALSE;
-    p = p && struct_equal(pkAuthenticator,
-                          ktest_equal_pk_authenticator_draft9);
-    p = p && ptr_equal(clientPublicValue, ktest_equal_subject_pk_info);
-    return p;
-}
-
-int
 ktest_equal_kdc_dh_key_info(krb5_kdc_dh_key_info *ref,
                             krb5_kdc_dh_key_info *var)
 {
@@ -1033,18 +994,6 @@ ktest_equal_reply_key_pack(krb5_reply_key_pack *ref, krb5_reply_key_pack *var)
     return p;
 }
 
-int
-ktest_equal_reply_key_pack_draft9(krb5_reply_key_pack_draft9 *ref,
-                                  krb5_reply_key_pack_draft9 *var)
-{
-    int p = TRUE;
-    if (ref == var) return TRUE;
-    else if (ref == NULL || var == NULL) return FALSE;
-    p = p && struct_equal(replyKey, ktest_equal_keyblock);
-    p = p && scalar_equal(nonce);
-    return p;
-}
-
 #endif /* not DISABLE_PKINIT */
 
 int
diff --git a/src/tests/asn.1/ktest_equal.h b/src/tests/asn.1/ktest_equal.h
index cfa82ac..80a0d78 100644
--- a/src/tests/asn.1/ktest_equal.h
+++ b/src/tests/asn.1/ktest_equal.h
@@ -139,13 +139,10 @@ int ktest_equal_ldap_sequence_of_keys(ldap_seqof_key_data *ref,
 
 #ifndef DISABLE_PKINIT
 generic(ktest_equal_pa_pk_as_req, krb5_pa_pk_as_req);
-generic(ktest_equal_pa_pk_as_req_draft9, krb5_pa_pk_as_req_draft9);
 generic(ktest_equal_pa_pk_as_rep, krb5_pa_pk_as_rep);
 generic(ktest_equal_auth_pack, krb5_auth_pack);
-generic(ktest_equal_auth_pack_draft9, krb5_auth_pack_draft9);
 generic(ktest_equal_kdc_dh_key_info, krb5_kdc_dh_key_info);
 generic(ktest_equal_reply_key_pack, krb5_reply_key_pack);
-generic(ktest_equal_reply_key_pack_draft9, krb5_reply_key_pack_draft9);
 #endif /* not DISABLE_PKINIT */
 
 int ktest_equal_kkdcp_message(krb5_kkdcp_message *ref,
diff --git a/src/tests/asn.1/pkinit_encode.out b/src/tests/asn.1/pkinit_encode.out
index 55a60bb..9bd08e1 100644
--- a/src/tests/asn.1/pkinit_encode.out
+++ b/src/tests/asn.1/pkinit_encode.out
@@ -1,13 +1,8 @@
 encode_krb5_pa_pk_as_req: 30 38 80 08 6B 72 62 35 64 61 74 61 A1 22 30 20 30 1E 80 08 6B 72 62 35 64 61 74 61 81 08 6B 72 62 35 64 61 74 61 82 08 6B 72 62 35 64 61 74 61 82 08 6B 72 62 35 64 61 74 61
-encode_krb5_pa_pk_as_req_draft9: 30 14 80 08 6B 72 62 35 64 61 74 61 82 08 6B 72 62 35 64 61 74 61
 encode_krb5_pa_pk_as_rep(dhInfo): A0 28 30 26 80 08 6B 72 62 35 64 61 74 61 A1 0A 04 08 6B 72 62 35 64 61 74 61 A2 0E 30 0C A0 0A 06 08 6B 72 62 35 64 61 74 61
 encode_krb5_pa_pk_as_rep(encKeyPack): 81 08 6B 72 62 35 64 61 74 61
-encode_krb5_pa_pk_as_rep_draft9(dhSignedData): 80 08 6B 72 62 35 64 61 74 61
-encode_krb5_pa_pk_as_rep_draft9(encKeyPack): 81 08 6B 72 62 35 64 61 74 61
 encode_krb5_auth_pack: 30 81 9F A0 35 30 33 A0 05 02 03 01 E2 40 A1 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A A2 03 02 01 2A A3 06 04 04 31 32 33 34 A4 0A 04 08 6B 72 62 35 64 61 74 61 A1 22 30 20 30 13 06 09 2A 86 48 86 F7 12 01 02 02 04 06 70 61 72 61 6D 73 03 09 00 6B 72 62 35 64 61 74 61 A2 24 30 22 30 13 06 09 2A 86 48 86 F7 12 01 02 02 04 06 70 61 72 61 6D 73 30 0B 06 09 2A 86 48 86 F7 12 01 02 02 A3 0A 04 08 6B 72 62 35 64 61 74 61 A4 10 30 0E 30 0C A0 0A 06 08 6B 72 62 35 64 61 74 61
-encode_krb5_auth_pack_draft9: 30 75 A0 4F 30 4D A0 1A 30 18 A0 03 02 01 01 A1 11 30 0F 1B 06 68 66 74 73 61 69 1B 05 65 78 74 72 61 A1 10 1B 0E 41 54 48 45 4E 41 2E 4D 49 54 2E 45 44 55 A2 05 02 03 01 E2 40 A3 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A A4 03 02 01 2A A1 22 30 20 30 13 06 09 2A 86 48 86 F7 12 01 02 02 04 06 70 61 72 61 6D 73 03 09 00 6B 72 62 35 64 61 74 61
 encode_krb5_kdc_dh_key_info: 30 25 A0 0B 03 09 00 6B 72 62 35 64 61 74 61 A1 03 02 01 2A A2 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A
 encode_krb5_reply_key_pack: 30 26 A0 13 30 11 A0 03 02 01 01 A1 0A 04 08 31 32 33 34 35 36 37 38 A1 0F 30 0D A0 03 02 01 01 A1 06 04 04 31 32 33 34
-encode_krb5_reply_key_pack_draft9: 30 1A A0 13 30 11 A0 03 02 01 01 A1 0A 04 08 31 32 33 34 35 36 37 38 A1 03 02 01 2A
 encode_krb5_sp80056a_other_info: 30 81 81 30 0B 06 09 2A 86 48 86 F7 12 01 02 02 A0 32 04 30 30 2E A0 10 1B 0E 41 54 48 45 4E 41 2E 4D 49 54 2E 45 44 55 A1 1A 30 18 A0 03 02 01 01 A1 11 30 0F 1B 06 68 66 74 73 61 69 1B 05 65 78 74 72 61 A1 32 04 30 30 2E A0 10 1B 0E 41 54 48 45 4E 41 2E 4D 49 54 2E 45 44 55 A1 1A 30 18 A0 03 02 01 01 A1 11 30 0F 1B 06 68 66 74 73 61 69 1B 05 65 78 74 72 61 A2 0A 04 08 6B 72 62 35 64 61 74 61
 encode_krb5_pkinit_supp_pub_info: 30 1D A0 03 02 01 14 A1 0A 04 08 6B 72 62 35 64 61 74 61 A2 0A 04 08 6B 72 62 35 64 61 74 61
diff --git a/src/tests/asn.1/pkinit_trval.out b/src/tests/asn.1/pkinit_trval.out
index 9557188..3675fba 100644
--- a/src/tests/asn.1/pkinit_trval.out
+++ b/src/tests/asn.1/pkinit_trval.out
@@ -15,14 +15,6 @@ encode_krb5_pa_pk_as_req:
 .  [2] <8>
       6b 72 62 35 64 61 74 61                             krb5data
 
-encode_krb5_pa_pk_as_req_draft9:
-
-[Sequence/Sequence Of]
-.  [0] <8>
-      6b 72 62 35 64 61 74 61                             krb5data
-.  [2] <8>
-      6b 72 62 35 64 61 74 61                             krb5data
-
 encode_krb5_pa_pk_as_rep(dhInfo):
 
 [CONT 0]
@@ -39,16 +31,6 @@ encode_krb5_pa_pk_as_rep(encKeyPack):
 [CONT 1] <8>
    6b 72 62 35 64 61 74 61                                krb5data
 
-encode_krb5_pa_pk_as_rep_draft9(dhSignedData):
-
-[CONT 0] <8>
-   6b 72 62 35 64 61 74 61                                krb5data
-
-encode_krb5_pa_pk_as_rep_draft9(encKeyPack):
-
-[CONT 1] <8>
-   6b 72 62 35 64 61 74 61                                krb5data
-
 encode_krb5_auth_pack:
 
 [Sequence/Sequence Of]
@@ -79,27 +61,6 @@ encode_krb5_auth_pack:
 .  .  .  [0] [Object Identifier] <8>
             6b 72 62 35 64 61 74 61                          krb5data
 
-encode_krb5_auth_pack_draft9:
-
-[Sequence/Sequence Of]
-.  [0] [Sequence/Sequence Of]
-.  .  [0] [Sequence/Sequence Of]
-.  .  .  [0] [Integer] 1
-.  .  .  [1] [Sequence/Sequence Of]
-.  .  .  .  [General string] "hftsai"
-.  .  .  .  [General string] "extra"
-.  .  [1] [General string] "ATHENA.MIT.EDU"
-.  .  [2] [Integer] 123456
-.  .  [3] [Generalized Time] "19940610060317Z"
-.  .  [4] [Integer] 42
-.  [1] [Sequence/Sequence Of]
-.  .  [Sequence/Sequence Of]
-.  .  .  [Object Identifier] <9>
-            2a 86 48 86 f7 12 01 02 02                       *.H......
-.  .  .  [Octet String] "params"
-.  .  [Bit String] <9>
-         00 6b 72 62 35 64 61 74 61                       .krb5data
-
 encode_krb5_kdc_dh_key_info:
 
 [Sequence/Sequence Of]
@@ -118,14 +79,6 @@ encode_krb5_reply_key_pack:
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "1234"
 
-encode_krb5_reply_key_pack_draft9:
-
-[Sequence/Sequence Of]
-.  [0] [Sequence/Sequence Of]
-.  .  [0] [Integer] 1
-.  .  [1] [Octet String] "12345678"
-.  [1] [Integer] 42
-
 encode_krb5_sp80056a_other_info:
 
 [Sequence/Sequence Of]


More information about the cvs-krb5 mailing list