static int krb_enc_test(krb5_context context) { krb5_error_code ret; krb5_crypto crypto; krb5_keyblock kb; krb5_data cipher, plain; size_t i; for (i = 0; i < sizeof(krbencs)/sizeof(krbencs[0]); i++) { kb.keytype = krbencs[i].enctype; kb.keyvalue.length = krbencs[i].keylen; kb.keyvalue.data = krbencs[i].key; ret = krb5_crypto_init(context, &kb, krbencs[i].enctype, &crypto); if (ret) errx(1, "krb5_crypto_init failed with %d for test %d", ret, (int)i); cipher.length = krbencs[i].elen; cipher.data = krbencs[i].edata; plain.length = krbencs[i].plen; plain.data = krbencs[i].pdata; ret = krb_enc(context, crypto, krbencs[i].usage, &cipher, &plain); if (ret) errx(1, "krb_enc failed with %d for test %d", ret, (int)i); ret = krb_enc_iov(context, crypto, krbencs[i].usage, &cipher, &plain); if (ret) errx(1, "krb_enc_iov failed with %d for test %d", ret, (int)i); ret = krb_enc_iov2(context, crypto, krbencs[i].usage, cipher.length, &plain); if (ret) errx(1, "krb_enc_iov2 failed with %d for test %d", ret, (int)i); ret = krb_checksum_iov(context, crypto, krbencs[i].usage, &plain); if (ret) errx(1, "krb_checksum_iov failed with %d for test %d", ret, (int)i); krb5_crypto_destroy(context, crypto); ret = krb_enc_mit(context, krbencs[i].enctype, &kb, krbencs[i].usage, &cipher, &plain); if (ret) errx(1, "krb_enc_mit failed with %d for test %d", ret, (int)i); } return 0; }
static int krb_enc_test(krb5_context context) { krb5_error_code ret; krb5_crypto crypto; krb5_keyblock kb; krb5_data cipher, plain; int i, failed = 0; for (i = 0; i < sizeof(krbencs)/sizeof(krbencs[0]); i++) { kb.keytype = krbencs[i].enctype; kb.keyvalue.length = krbencs[i].keylen; kb.keyvalue.data = krbencs[i].key; ret = krb5_crypto_init(context, &kb, krbencs[i].enctype, &crypto); cipher.length = krbencs[i].elen; cipher.data = krbencs[i].edata; plain.length = krbencs[i].plen; plain.data = krbencs[i].pdata; ret = krb_enc(context, crypto, krbencs[i].usage, &cipher, &plain); if (ret) { failed = 1; printf("krb_enc failed with %d\n", ret); } krb5_crypto_destroy(context, crypto); ret = krb_enc_mit(context, krbencs[i].enctype, &kb, krbencs[i].usage, &cipher, &plain); if (ret) { failed = 1; printf("krb_enc_mit failed with %d\n", ret); } } return failed; }