58QSC_CPLUSPLUS_ENABLED_START
264QSC_CPLUSPLUS_ENABLED_END
ASN.1 helper functions and data types built on the QSC BER and DER encoding layer.
QSC_EXPORT_API struct qsc_asn1_oid_t qsc_asn1_oid
A decoded ASN.1 OBJECT IDENTIFIER.
QSC_EXPORT_API bool qsc_oid_get_encoded(qsc_oid_id id, const uint8_t **data, size_t *length)
Gets the encoded value octets for a registry identifier.
Definition oid.c:327
QSC_EXPORT_API struct qsc_oid_entry_t qsc_oid_entry
A registry entry describing a known object identifier.
qsc_oid_id_t
Known object identifier registry entries.
Definition oid.h:82
@ QSC_OID_ID_SUBJECT_INFO_ACCESS
Definition oid.h:138
@ QSC_OID_ID_LOCALITY_NAME
Definition oid.h:111
@ QSC_OID_ID_NONE
Definition oid.h:83
@ QSC_OID_ID_EMAIL_ADDRESS
Definition oid.h:124
@ QSC_OID_ID_OCSP
Definition oid.h:148
@ QSC_OID_ID_TITLE
Definition oid.h:116
@ QSC_OID_ID_ML_DSA_65
Definition oid.h:152
@ QSC_OID_ID_RSA_ENCRYPTION
Definition oid.h:85
@ QSC_OID_ID_CERTIFICATE_POLICIES
Definition oid.h:133
@ QSC_OID_ID_ML_KEM_1024
Definition oid.h:157
@ QSC_OID_ID_EC_PUBLIC_KEY
Definition oid.h:92
@ QSC_OID_ID_ML_DSA_44
Definition oid.h:151
@ QSC_OID_ID_GENERATION_QUALIFIER
Definition oid.h:120
@ QSC_OID_ID_ISSUER_ALT_NAME
Definition oid.h:129
@ QSC_OID_ID_STREET_ADDRESS
Definition oid.h:113
@ QSC_OID_ID_BASIC_CONSTRAINTS
Definition oid.h:130
@ QSC_OID_ID_SHA384
Definition oid.h:104
@ QSC_OID_ID_EXTENDED_KEY_USAGE
Definition oid.h:136
@ QSC_OID_ID_SHA224
Definition oid.h:102
@ QSC_OID_ID_SECP521R1
Definition oid.h:95
@ QSC_OID_ID_SHA512_WITH_RSA_ENCRYPTION
Definition oid.h:90
@ QSC_OID_ID_ECDSA_WITH_SHA512
Definition oid.h:99
@ QSC_OID_ID_ORGANIZATION_NAME
Definition oid.h:114
@ QSC_OID_ID_NAME_CONSTRAINTS
Definition oid.h:131
@ QSC_OID_ID_PRIME256V1
Definition oid.h:93
@ QSC_OID_ID_CRL_DISTRIBUTION_POINTS
Definition oid.h:132
@ QSC_OID_ID_CA_ISSUERS
Definition oid.h:149
@ QSC_OID_ID_TIME_STAMPING
Definition oid.h:145
@ QSC_OID_ID_CRL_NUMBER
Definition oid.h:134
@ QSC_OID_ID_KEY_USAGE
Definition oid.h:127
@ QSC_OID_ID_COUNTRY_NAME
Definition oid.h:110
@ QSC_OID_ID_ML_KEM_768
Definition oid.h:156
@ QSC_OID_ID_SERIAL_NUMBER
Definition oid.h:109
@ QSC_OID_ID_SHA1
Definition oid.h:101
@ QSC_OID_ID_ECDSA_WITH_SHA384
Definition oid.h:98
@ QSC_OID_ID_SHA512
Definition oid.h:105
@ QSC_OID_ID_MD5_WITH_RSA_ENCRYPTION
Definition oid.h:86
@ QSC_OID_ID_OCSP_SIGNING
Definition oid.h:146
@ QSC_OID_ID_SHA256_WITH_RSA_ENCRYPTION
Definition oid.h:88
@ QSC_OID_ID_SURNAME
Definition oid.h:108
@ QSC_OID_ID_EMAIL_PROTECTION
Definition oid.h:144
@ QSC_OID_ID_SUBJECT_KEY_IDENTIFIER
Definition oid.h:126
@ QSC_OID_ID_STATE_OR_PROVINCE_NAME
Definition oid.h:112
@ QSC_OID_ID_ECDSA_WITH_SHA256
Definition oid.h:97
@ QSC_OID_ID_SHA1_WITH_RSA_ENCRYPTION
Definition oid.h:87
@ QSC_OID_ID_SHA384_WITH_RSA_ENCRYPTION
Definition oid.h:89
@ QSC_OID_ID_SUBJECT_ALT_NAME
Definition oid.h:128
@ QSC_OID_ID_GIVEN_NAME
Definition oid.h:118
@ QSC_OID_ID_DESCRIPTION
Definition oid.h:117
@ QSC_OID_ID_ANY_EXTENDED_KEY_USAGE
Definition oid.h:140
@ QSC_OID_ID_SERVER_AUTH
Definition oid.h:141
@ QSC_OID_ID_SECP384R1
Definition oid.h:94
@ QSC_OID_ID_AUTHORITY_INFO_ACCESS
Definition oid.h:137
@ QSC_OID_ID_CODE_SIGNING
Definition oid.h:143
@ QSC_OID_ID_PSEUDONYM
Definition oid.h:122
@ QSC_OID_ID_ECDSA_WITH_SHA1
Definition oid.h:96
@ QSC_OID_ID_SHA256
Definition oid.h:103
@ QSC_OID_ID_DOMAIN_COMPONENT
Definition oid.h:123
@ QSC_OID_ID_AUTHORITY_KEY_IDENTIFIER
Definition oid.h:135
@ QSC_OID_ID_ORGANIZATIONAL_UNIT_NAME
Definition oid.h:115
@ QSC_OID_ID_DN_QUALIFIER
Definition oid.h:121
@ QSC_OID_ID_ML_DSA_87
Definition oid.h:153
@ QSC_OID_ID_CLIENT_AUTH
Definition oid.h:142
@ QSC_OID_ID_COMMON_NAME
Definition oid.h:107
@ QSC_OID_ID_INITIALS
Definition oid.h:119
@ QSC_OID_ID_ML_KEM_512
Definition oid.h:155
QSC_EXPORT_API qsc_oid_id qsc_oid_identify(const qsc_asn1_oid *oid)
Identifies a decoded object identifier against the static registry.
Definition oid.c:286
enum qsc_oid_id_t qsc_oid_id
Known object identifier registry entries.
QSC_EXPORT_API bool qsc_oid_to_asn1(qsc_oid_id id, qsc_asn1_oid *oid)
Copies the encoded value octets of a registry identifier to a decoded ASN.1 OID structure.
Definition oid.c:352
QSC_EXPORT_API const qsc_oid_entry * qsc_oid_get_entry(qsc_oid_id id)
Gets a registry entry by internal identifier.
Definition oid.c:267
QSC_EXPORT_API const char * qsc_oid_get_name(qsc_oid_id id)
Gets the descriptive registry name of a registry identifier.
Definition oid.c:390
QSC_EXPORT_API bool qsc_oid_equals_id(const qsc_asn1_oid *oid, qsc_oid_id id)
Tests whether a decoded object identifier matches a registry identifier.
Definition oid.c:311
QSC_EXPORT_API const qsc_oid_entry * qsc_oid_registry_at(size_t index)
Gets a registry entry by zero-based table index.
Definition oid.c:253
QSC_EXPORT_API size_t qsc_oid_registry_count(void)
Gets the number of entries in the static object identifier registry.
Definition oid.c:248
QSC_EXPORT_API const char * qsc_oid_get_dotted(qsc_oid_id id)
Gets the dotted-decimal text form of a registry identifier.
Definition oid.c:374
QSC_EXPORT_API const char * qsc_oid_get_name_from_oid(const qsc_asn1_oid *oid)
Gets the descriptive registry name of a decoded object identifier.
Definition oid.c:406
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605
A registry entry describing a known object identifier.
Definition oid.h:164
const char * dotted
Definition oid.h:168
const uint8_t * data
Definition oid.h:166
const char * name
Definition oid.h:169
qsc_oid_id id
Definition oid.h:165
size_t length
Definition oid.h:167