mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-26 20:30:41 +00:00
Bug 1031542: Add test case for key usage without any value bits, r=keeler
--HG-- extra : rebase_source : 25bdc0db6b042fe6fbba61b80cb8a4ac7cb588eb
This commit is contained in:
parent
8b86a8e662
commit
af3daeff63
@ -134,6 +134,40 @@ TEST(pkixchekc_CheckKeyusage, tooManyUnusedBits)
|
||||
KeyUsage::digitalSignature));
|
||||
}
|
||||
|
||||
TEST(pkixcheck_CheckKeyUsage, NoValueBytes_NoPaddingBits)
|
||||
{
|
||||
static const uint8_t DER_BYTES[] = {
|
||||
0x03/*BIT STRING*/, 0x01/*LENGTH=1*/, 0/*unused bits*/
|
||||
};
|
||||
static const SECItem DER = {
|
||||
siBuffer,
|
||||
const_cast<uint8_t*>(DER_BYTES),
|
||||
sizeof(DER_BYTES)
|
||||
};
|
||||
|
||||
ASSERT_BAD(CheckKeyUsage(EndEntityOrCA::MustBeEndEntity, &DER,
|
||||
KeyUsage::digitalSignature));
|
||||
ASSERT_BAD(CheckKeyUsage(EndEntityOrCA::MustBeCA, &DER,
|
||||
KeyUsage::keyCertSign));
|
||||
}
|
||||
|
||||
TEST(pkixcheck_CheckKeyUsage, NoValueBytes_7PaddingBits)
|
||||
{
|
||||
static const uint8_t DER_BYTES[] = {
|
||||
0x03/*BIT STRING*/, 0x01/*LENGTH=1*/, 7/*unused bits*/
|
||||
};
|
||||
static const SECItem DER = {
|
||||
siBuffer,
|
||||
const_cast<uint8_t*>(DER_BYTES),
|
||||
sizeof(DER_BYTES)
|
||||
};
|
||||
|
||||
ASSERT_BAD(CheckKeyUsage(EndEntityOrCA::MustBeEndEntity, &DER,
|
||||
KeyUsage::digitalSignature));
|
||||
ASSERT_BAD(CheckKeyUsage(EndEntityOrCA::MustBeCA, &DER,
|
||||
KeyUsage::keyCertSign));
|
||||
}
|
||||
|
||||
void ASSERT_SimpleCase(uint8_t unusedBits, uint8_t bits, KeyUsage usage)
|
||||
{
|
||||
// Test that only the right bit is accepted for the usage for both EE and CA
|
||||
|
Loading…
x
Reference in New Issue
Block a user