import t, c from openssl.types import * # ============================================================ # openssl/objects.vp — ASN.1 对象(OID)与 NID # 对应头文件: objects.h / obj_mac.h # ============================================================ # ---- 常用 NID(obj_mac.h 常量)---- NidCommonName: t.CDefine = 13 NidCountryName: t.CDefine = 14 NidLocalityName: t.CDefine = 15 NidStateOrProvinceName: t.CDefine = 16 NidOrganizationName: t.CDefine = 17 NidOrganizationalUnitName: t.CDefine = 18 NidEmailAddress: t.CDefine = 48 NidSerialNumber: t.CDefine = 105 NidSubjectKeyIdentifier: t.CDefine = 82 NidKeyUsage: t.CDefine = 83 NidSubjectAltName: t.CDefine = 85 NidIssuerAltName: t.CDefine = 86 NidBasicConstraints: t.CDefine = 87 NidAuthorityKeyIdentifier: t.CDefine = 90 NidCrlDistributionPoints: t.CDefine = 103 NidExtKeyUsage: t.CDefine = 126 NidRsaEncryption: t.CDefine = 6 NidSha1: t.CDefine = 64 NidSha256: t.CDefine = 672 NidMd5: t.CDefine = 4 NidHmac: t.CDefine = 855 NidX9_62IdEcPublicKey: t.CDefine = 408 # ---- OBJ / NID 转换 ---- # int OBJ_txt2nid(const char *s) extern def OBJ_txt2nid(s: str) -> int # int OBJ_sn2nid(const char *s) / int OBJ_ln2nid(const char *s) extern def OBJ_sn2nid(s: str) -> int extern def OBJ_ln2nid(s: str) -> int # const char *OBJ_nid2sn(int n) / const char *OBJ_nid2ln(int n) extern def OBJ_nid2sn(n: int) -> str extern def OBJ_nid2ln(n: int) -> str # ASN1_OBJECT *OBJ_nid2obj(int n) extern def OBJ_nid2obj(n: int) -> Asn1ObjectPtr # ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) extern def OBJ_txt2obj(s: str, no_name: int) -> Asn1ObjectPtr # int OBJ_obj2nid(const ASN1_OBJECT *o) extern def OBJ_obj2nid(o: Asn1ObjectPtr) -> int # int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) extern def OBJ_obj2txt(buf: bytes, buf_len: int, a: Asn1ObjectPtr, no_name: int) -> int # int OBJ_create(const char *oid, const char *sn, const char *ln) extern def OBJ_create(oid: str, sn: str, ln: str) -> int