Example #1
0
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;
}
Example #2
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;
}