END_TEST START_TEST(test_sscep_handling_perform_sunny) { qeo_mgmt_client_ctx_t *ctx = NULL; STACK_OF(X509) *racerts = get_cert_store(raids); STACK_OF(X509) *devicecerts = get_cert_store(deviceids); sscep_mock_ignore_and_return(true, SCEP_PKISTATUS_SUCCESS, racerts, SCEP_PKISTATUS_SUCCESS, devicecerts); ctx = qeo_mgmt_client_init(); fail_if(ctx == NULL); fail_unless(qeo_mgmt_client_enroll_device(ctx, s_url, s_rsakey, s_otp, &s_info, my_ssl_cb, (void*) COOKIE_MAGIC_NUMBER, s_certs) == QMGMTCLIENT_OK); qeo_mgmt_client_clean(ctx); sscep_mock_expect_called(1, 2, 1); sk_X509_free(racerts); sk_X509_free(devicecerts); }
END_TEST START_TEST(test_cert_ordening_rainy) { qeo_mgmt_cert_contents qmcc; int ids1[]={CERTSTORE_MASTER , CERTSTORE_RANDOM, CERTSTORE_DEVICE, -1}; int ids2[]={CERTSTORE_REALM , CERTSTORE_MASTER, CERTSTORE_RANDOM, -1}; int ids3[]={CERTSTORE_DEVICE , CERTSTORE_REALM, -1}; int ids4[]={CERTSTORE_DEVICE, CERTSTORE_MASTER, -1}; int ids5[]={CERTSTORE_MASTER, -1}; int ids6[]={CERTSTORE_REALM, CERTSTORE_MASTER, -1}; STACK_OF(X509) *chain1 = get_cert_store(ids1); STACK_OF(X509) *chain2 = get_cert_store(ids2); STACK_OF(X509) *chain3 = get_cert_store(ids3); STACK_OF(X509) *chain4 = get_cert_store(ids4); STACK_OF(X509) *chain5 = get_cert_store(ids5); STACK_OF(X509) *chain6 = get_cert_store(ids6); fail_if(qeo_mgmt_cert_parse(chain1, &qmcc) == QCERT_OK); fail_if(qeo_mgmt_cert_parse(chain2, &qmcc) == QCERT_OK); fail_if(qeo_mgmt_cert_parse(chain3, &qmcc) == QCERT_OK); fail_if(qeo_mgmt_cert_parse(chain4, &qmcc) == QCERT_OK); fail_if(qeo_mgmt_cert_parse(chain5, &qmcc) == QCERT_OK); fail_if(qeo_mgmt_cert_parse(chain6, &qmcc) == QCERT_OK); sk_X509_free(chain1); sk_X509_free(chain2); sk_X509_free(chain3); sk_X509_free(chain4); sk_X509_free(chain5); sk_X509_free(chain6); }
END_TEST START_TEST(test_sunny_day) { int deviceids[]={CERTSTORE_MASTER , CERTSTORE_REALM, CERTSTORE_DEVICE, -1}; STACK_OF(X509) *devicechain = get_cert_store(deviceids); qeo_mgmt_cert_contents qmcc; fail_unless(qeo_mgmt_cert_parse(devicechain, &qmcc) == QCERT_OK); ck_assert_int_eq(qmcc.device, 327); ck_assert_int_eq(qmcc.user, 20); ck_assert_int_eq(qmcc.realm, 20); sk_X509_free(devicechain); }