Merge pull request #1752 from dihambo/master

修正asn1的tag掩码。完善asn1的tag测试,使其覆盖所有可能值。
This commit is contained in:
Zhi Guan
2025-12-09 08:44:58 +08:00
committed by GitHub
2 changed files with 13 additions and 11 deletions

View File

@@ -38,7 +38,7 @@ const char *asn1_tag_name(int tag)
}
switch (tag & 0xc0) {
case ASN1_TAG_CONTENT_SPECIFIC: return asn1_tag_index[tag & 0xe0];
case ASN1_TAG_CONTENT_SPECIFIC: return asn1_tag_index[tag & 0x1f];
case ASN1_TAG_APPLICATION: return "Application";
case ASN1_TAG_PRIVATE: return "Private";
}

View File

@@ -59,16 +59,18 @@ static void print_octets(const uint8_t *o, size_t olen)
static int test_asn1_tag(void)
{
int i;
format_print(stderr, 0, 0, "Tags:\n");
for (i = 1; i <= 13; i++) {
format_print(stderr, 0, 4, "%s (0x%02x)\n", asn1_tag_name(i), i);
}
for (i = 18; i <= 30; i++) {
format_print(stderr, 0, 4, "%s (0x%02x)\n", asn1_tag_name(i), i);
}
printf("%s() ok\n", __FUNCTION__);
return 1;
int tag;
format_print(stderr, 0, 0, "Testing all tag values from 0 to 255:\n");
for (tag = 0; tag <= 255; tag++) {
const char *name = asn1_tag_name(tag);
if (name) {
format_print(stderr, 0, 4, "%s (0x%02x)\n", name, tag);
} else {
format_print(stderr, 0, 4, "Unknown Tag (0x%02x)\n", tag);
}
}
printf("%s() ok\n", __FUNCTION__);
return 1;
}
static int test_asn1_length(void)