Lines Matching refs:c

2  * Copyright (c) 2018-2021 Yubico AB. All rights reserved.
1429 fido_cred_t *c;
1431 c = fido_cred_new();
1432 assert(c != NULL);
1434 return (c);
1438 free_cred(fido_cred_t *c)
1440 fido_cred_free(&c);
1441 assert(c == NULL);
1465 fido_cred_t *c;
1469 c = alloc_cred();
1470 assert(fido_cred_authdata_len(c) == 0);
1471 assert(fido_cred_authdata_ptr(c) == NULL);
1472 assert(fido_cred_authdata_raw_len(c) == 0);
1473 assert(fido_cred_authdata_raw_ptr(c) == NULL);
1474 assert(fido_cred_clientdata_hash_len(c) == 0);
1475 assert(fido_cred_clientdata_hash_ptr(c) == NULL);
1476 assert(fido_cred_flags(c) == 0);
1477 assert(fido_cred_fmt(c) == NULL);
1478 assert(fido_cred_id_len(c) == 0);
1479 assert(fido_cred_id_ptr(c) == NULL);
1480 assert(fido_cred_prot(c) == 0);
1481 assert(fido_cred_pubkey_len(c) == 0);
1482 assert(fido_cred_pubkey_ptr(c) == NULL);
1483 assert(fido_cred_rp_id(c) == NULL);
1484 assert(fido_cred_rp_name(c) == NULL);
1485 assert(fido_cred_sig_len(c) == 0);
1486 assert(fido_cred_sig_ptr(c) == NULL);
1487 assert(fido_cred_x5c_len(c) == 0);
1488 assert(fido_cred_x5c_ptr(c) == NULL);
1489 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1502 assert(fido_dev_make_cred(d, c, NULL) == FIDO_ERR_INVALID_ARGUMENT);
1503 assert(fido_dev_make_cred(d, c, "") == FIDO_ERR_UNSUPPORTED_OPTION);
1504 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1508 assert(fido_dev_make_cred(d, c, NULL) == FIDO_ERR_INVALID_ARGUMENT);
1509 assert(fido_dev_make_cred(d, c, "") == FIDO_ERR_INVALID_ARGUMENT);
1510 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1512 free_cred(c);
1519 fido_cred_t *c;
1521 c = alloc_cred();
1522 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1523 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1524 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1525 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1526 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1527 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1528 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1529 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1530 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1531 assert(fido_cred_verify(c) == FIDO_OK);
1532 assert(fido_cred_prot(c) == 0);
1533 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1534 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1535 assert(fido_cred_id_len(c) == sizeof(id));
1536 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1537 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1538 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1539 free_cred(c);
1545 fido_cred_t *c;
1547 c = alloc_cred();
1548 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1549 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1550 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1551 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1552 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1553 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1554 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1555 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1556 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1557 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1558 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1559 assert(fido_cred_id_len(c) == sizeof(id));
1560 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1561 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1562 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1563 free_cred(c);
1569 fido_cred_t *c;
1571 c = alloc_cred();
1572 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1573 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1574 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1575 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1576 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1577 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1578 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1579 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1580 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1581 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1582 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1583 assert(fido_cred_id_len(c) == sizeof(id));
1584 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1585 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1586 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1587 free_cred(c);
1593 fido_cred_t *c;
1595 c = alloc_cred();
1596 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1597 assert(fido_cred_set_rp(c, rp_id, NULL) == FIDO_OK);
1598 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1599 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1600 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1601 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1602 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1603 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1604 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1605 assert(fido_cred_verify(c) == FIDO_OK);
1606 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1607 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1608 assert(fido_cred_id_len(c) == sizeof(id));
1609 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1610 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1611 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1612 free_cred(c);
1618 fido_cred_t *c;
1624 c = alloc_cred();
1625 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1626 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1627 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1628 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1629 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1630 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1631 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1632 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1633 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1634 assert(fido_cred_pubkey_len(c) == 0);
1635 assert(fido_cred_pubkey_ptr(c) == NULL);
1636 assert(fido_cred_id_len(c) == 0);
1637 assert(fido_cred_id_ptr(c) == NULL);
1638 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1639 assert(memcmp(fido_cred_aaguid_ptr(c), unset, sizeof(aaguid)) == 0);
1640 free_cred(c);
1647 fido_cred_t *c;
1649 c = alloc_cred();
1650 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1651 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1652 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1653 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1654 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1655 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1656 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1657 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1658 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1659 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1660 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1661 assert(fido_cred_id_len(c) == sizeof(id));
1662 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1663 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1664 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1665 free_cred(c);
1671 fido_cred_t *c;
1673 c = alloc_cred();
1674 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1675 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1676 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1677 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1678 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1679 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1680 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1681 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1682 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1683 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1684 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1685 assert(fido_cred_id_len(c) == sizeof(id));
1686 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1687 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1688 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1689 free_cred(c);
1695 fido_cred_t *c;
1697 c = alloc_cred();
1698 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1699 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1700 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1701 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1702 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1703 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1704 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1705 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1706 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1707 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1708 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1709 assert(fido_cred_id_len(c) == sizeof(id));
1710 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1711 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1712 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1713 free_cred(c);
1719 fido_cred_t *c;
1721 c = alloc_cred();
1722 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1723 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1724 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1725 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1726 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1727 assert(fido_cred_set_uv(c, FIDO_OPT_TRUE) == FIDO_OK);
1728 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1729 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1730 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1731 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_PARAM);
1732 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1733 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1734 assert(fido_cred_id_len(c) == sizeof(id));
1735 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1736 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1737 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1738 free_cred(c);
1744 fido_cred_t *c;
1752 c = alloc_cred();
1753 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1754 assert(fido_cred_set_clientdata_hash(c, junk, sizeof(cdh)) == FIDO_OK);
1755 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1756 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1757 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1758 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1759 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1760 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1761 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1762 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_SIG);
1763 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1764 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1765 assert(fido_cred_id_len(c) == sizeof(id));
1766 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1767 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1768 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1769 free_cred(c);
1776 fido_cred_t *c;
1778 c = alloc_cred();
1779 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1780 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1781 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1782 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1783 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1784 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1785 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1786 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1787 assert(fido_cred_set_fmt(c, "junk") == FIDO_ERR_INVALID_ARGUMENT);
1788 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1789 free_cred(c);
1795 fido_cred_t *c;
1797 c = alloc_cred();
1798 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1799 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1800 assert(fido_cred_set_rp(c, "potato", rp_name) == FIDO_OK);
1801 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1802 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1803 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1804 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1805 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1806 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1807 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_PARAM);
1808 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1809 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1810 assert(fido_cred_id_len(c) == sizeof(id));
1811 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1812 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1813 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1814 free_cred(c);
1820 fido_cred_t *c;
1822 c = alloc_cred();
1823 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1824 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1825 assert(fido_cred_set_rp(c, rp_id, "potato") == FIDO_OK);
1826 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1827 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1828 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1829 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1830 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1831 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1832 assert(fido_cred_verify(c) == FIDO_OK);
1833 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1834 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1835 assert(fido_cred_id_len(c) == sizeof(id));
1836 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1837 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1838 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1839 free_cred(c);
1845 fido_cred_t *c;
1857 c = alloc_cred();
1858 assert(fido_cred_set_authdata(c, junk,
1860 assert(fido_cred_authdata_len(c) == 0);
1861 assert(fido_cred_authdata_ptr(c) == NULL);
1862 assert(fido_cred_authdata_raw_len(c) == 0);
1863 assert(fido_cred_authdata_raw_ptr(c) == NULL);
1864 assert(fido_cred_flags(c) == 0);
1865 assert(fido_cred_fmt(c) == NULL);
1866 assert(fido_cred_id_len(c) == 0);
1867 assert(fido_cred_id_ptr(c) == NULL);
1868 assert(fido_cred_pubkey_len(c) == 0);
1869 assert(fido_cred_pubkey_ptr(c) == NULL);
1870 assert(fido_cred_rp_id(c) == NULL);
1871 assert(fido_cred_rp_name(c) == NULL);
1872 assert(fido_cred_sig_len(c) == 0);
1873 assert(fido_cred_sig_ptr(c) == NULL);
1874 assert(fido_cred_x5c_len(c) == 0);
1875 assert(fido_cred_x5c_ptr(c) == NULL);
1876 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1877 assert(memcmp(fido_cred_aaguid_ptr(c), unset, sizeof(aaguid)) == 0);
1878 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1879 free_cred(c);
1887 fido_cred_t *c;
1895 c = alloc_cred();
1896 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1897 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1898 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1899 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1900 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1901 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1902 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1903 assert(fido_cred_set_sig(c, junk, sizeof(sig)) == FIDO_OK);
1904 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1905 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_SIG);
1906 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1907 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1908 assert(fido_cred_id_len(c) == sizeof(id));
1909 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1910 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1911 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1912 free_cred(c);
1919 fido_cred_t *c;
1927 c = alloc_cred();
1928 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1929 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1930 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1931 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1932 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1933 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1934 assert(fido_cred_set_x509(c, junk, sizeof(x509)) == FIDO_OK);
1935 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1936 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1937 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_SIG);
1938 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
1939 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
1940 assert(fido_cred_id_len(c) == sizeof(id));
1941 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
1942 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1943 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
1944 free_cred(c);
1952 fido_cred_t *c;
1958 c = alloc_cred();
1959 assert(fido_cred_set_type(c, COSE_RS256) == FIDO_OK);
1960 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
1961 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
1962 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_ERR_INVALID_ARGUMENT);
1963 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
1964 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
1965 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
1966 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
1967 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
1968 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
1969 assert(fido_cred_pubkey_len(c) == 0);
1970 assert(fido_cred_pubkey_ptr(c) == NULL);
1971 assert(fido_cred_id_len(c) == 0);
1972 assert(fido_cred_id_ptr(c) == NULL);
1973 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
1974 assert(memcmp(fido_cred_aaguid_ptr(c), unset, sizeof(aaguid)) == 0);
1975 free_cred(c);
1983 fido_cred_t *c;
1985 c = alloc_cred();
1986 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1987 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
1988 assert(fido_cred_authdata_len(c) == sizeof(authdata));
1989 free_cred(c);
1995 fido_cred_t *c;
1997 c = alloc_cred();
1998 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
1999 assert(fido_cred_set_authdata(c, authdata_dupkeys,
2001 free_cred(c);
2007 fido_cred_t *c;
2009 c = alloc_cred();
2010 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
2011 assert(fido_cred_set_authdata(c, authdata_unsorted_keys,
2013 free_cred(c);
2019 fido_cred_t *c;
2021 c = alloc_cred();
2022 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
2023 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
2024 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
2025 assert(fido_cred_set_x509(c, x509, sizeof(x509)) == FIDO_OK);
2026 assert(fido_cred_set_sig(c, sig, sizeof(sig)) == FIDO_OK);
2027 assert(fido_cred_set_fmt(c, "packed") == FIDO_OK);
2028 assert(fido_cred_set_prot(c, FIDO_CRED_PROT_UV_OPTIONAL_WITH_ID) == FIDO_OK);
2029 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
2030 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_PARAM);
2031 free_cred(c);
2037 fido_cred_t *c;
2046 c = alloc_cred();
2047 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
2048 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
2049 assert((ptr = fido_cred_authdata_ptr(c)) != NULL);
2050 assert((len = fido_cred_authdata_len(c)) != 0);
2054 assert((ptr = fido_cred_authdata_raw_ptr(c)) != NULL);
2055 assert((len = fido_cred_authdata_raw_len(c)) != 0);
2058 assert((len = fido_cred_authdata_len(c)) != 0);
2062 assert(fido_cred_set_authdata_raw(c, ptr, len) == FIDO_OK);
2063 assert((ptr = fido_cred_authdata_ptr(c)) != NULL);
2064 assert((len = fido_cred_authdata_len(c)) != 0);
2071 free_cred(c);
2077 fido_cred_t *c;
2079 c = alloc_cred();
2080 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
2081 assert(fido_cred_set_clientdata_hash(c, cdh, sizeof(cdh)) == FIDO_OK);
2082 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
2083 assert(fido_cred_set_authdata(c, authdata, sizeof(authdata)) == FIDO_OK);
2084 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
2085 assert(fido_cred_set_uv(c, FIDO_OPT_FALSE) == FIDO_OK);
2086 assert(fido_cred_set_fmt(c, "none") == FIDO_OK);
2087 assert(fido_cred_verify(c) == FIDO_ERR_INVALID_ARGUMENT);
2088 assert(fido_cred_prot(c) == 0);
2089 assert(fido_cred_pubkey_len(c) == sizeof(pubkey));
2090 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey, sizeof(pubkey)) == 0);
2091 assert(fido_cred_id_len(c) == sizeof(id));
2092 assert(memcmp(fido_cred_id_ptr(c), id, sizeof(id)) == 0);
2093 assert(fido_cred_aaguid_len(c) == sizeof(aaguid));
2094 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid, sizeof(aaguid)) == 0);
2095 free_cred(c);
2101 fido_cred_t *c;
2103 c = alloc_cred();
2104 assert(fido_cred_set_type(c, COSE_RS256) == FIDO_OK);
2105 assert(fido_cred_set_clientdata(c, cdh, sizeof(cdh)) == FIDO_OK);
2106 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
2107 assert(fido_cred_set_authdata(c, authdata_tpm_rs256, sizeof(authdata_tpm_rs256)) == FIDO_OK);
2108 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
2109 assert(fido_cred_set_uv(c, FIDO_OPT_TRUE) == FIDO_OK);
2110 assert(fido_cred_set_fmt(c, "tpm") == FIDO_OK);
2111 assert(fido_cred_set_attstmt(c, attstmt_tpm_rs256, sizeof(attstmt_tpm_rs256)) == FIDO_OK);
2113 assert(fido_cred_verify(c) == (xfail ? FIDO_ERR_INVALID_SIG : FIDO_OK));
2114 assert(fido_cred_prot(c) == 0);
2115 assert(fido_cred_pubkey_len(c) == sizeof(pubkey_tpm_rs256));
2116 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey_tpm_rs256, sizeof(pubkey_tpm_rs256)) == 0);
2117 assert(fido_cred_id_len(c) == sizeof(id_tpm_rs256));
2118 assert(memcmp(fido_cred_id_ptr(c), id_tpm_rs256, sizeof(id_tpm_rs256)) == 0);
2119 assert(fido_cred_aaguid_len(c) == sizeof(aaguid_tpm));
2120 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid_tpm, sizeof(aaguid_tpm)) == 0);
2121 free_cred(c);
2127 fido_cred_t *c;
2129 c = alloc_cred();
2130 assert(fido_cred_set_type(c, COSE_ES256) == FIDO_OK);
2131 assert(fido_cred_set_clientdata(c, cdh, sizeof(cdh)) == FIDO_OK);
2132 assert(fido_cred_set_rp(c, rp_id, rp_name) == FIDO_OK);
2133 assert(fido_cred_set_authdata(c, authdata_tpm_es256, sizeof(authdata_tpm_es256)) == FIDO_OK);
2134 assert(fido_cred_set_rk(c, FIDO_OPT_FALSE) == FIDO_OK);
2135 assert(fido_cred_set_uv(c, FIDO_OPT_TRUE) == FIDO_OK);
2136 assert(fido_cred_set_fmt(c, "tpm") == FIDO_OK);
2137 assert(fido_cred_set_attstmt(c, attstmt_tpm_es256, sizeof(attstmt_tpm_es256)) == FIDO_OK);
2139 assert(fido_cred_verify(c) == (xfail ? FIDO_ERR_INVALID_SIG : FIDO_OK));
2140 assert(fido_cred_prot(c) == 0);
2141 assert(fido_cred_pubkey_len(c) == sizeof(pubkey_tpm_es256));
2142 assert(memcmp(fido_cred_pubkey_ptr(c), pubkey_tpm_es256, sizeof(pubkey_tpm_es256)) == 0);
2143 assert(fido_cred_id_len(c) == sizeof(id_tpm_es256));
2144 assert(memcmp(fido_cred_id_ptr(c), id_tpm_es256, sizeof(id_tpm_es256)) == 0);
2145 assert(fido_cred_aaguid_len(c) == sizeof(aaguid_tpm));
2146 assert(memcmp(fido_cred_aaguid_ptr(c), aaguid_tpm, sizeof(aaguid_tpm)) == 0);
2147 free_cred(c);