Files
Viper_VRTE/openssl/pem.vp
T
TermiNexus e71daeea0e docs(includes): R11 注释英文化——75 个文件的中文注释改写为英文短注释
按规范「注释只讲解作用,不掺杂历史原因,尽量英文」:把 includes 下 75 个 .vp 的中文 # 注释与三引号 docstring 改写为英文,每个注释块压到 2 行以内。

保留要点:作用、约束、危险警告(不得/必须/注意)、ABI 与类型约定(如 BYTEPTR | t.CPtr = i8** 的跨模块坍缩坑)、位宽/长度约定、fail-fast 要求、内存与句柄所有权。

未动:文件头注释(规范豁免,仍是中文)、运行时中文字符串常量(printf / fatal_error / MlirFail 等用户可见消息,属代码字面量)。

验证:独立脚本比对 HEAD 与工作区的代码骨架(剥离 # 注释与三引号 docstring 后的非空行)——75 个文件逐字节一致;行尾 CRLF/LF 未被改动;全文剩余中文仅 547 行头注释、0 条行尾注释。bootstrap 三重重编 SUCCESS;全量 77/77 顺序回归通过。
2026-10-05 16:18:44 +08:00

59 lines
3.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import t, c
from openssl.types import *
# ============================================================
# openssl/pem.vp — PEM 编解码
# 对应头文件: pem.h
#
# 全部走 BIO 输入(PEM_read_bio_*);证书/密钥的 x 出参可为 NULL
# (函数返回新对象)。回调 cb 用 bytes(Viper 传 t.CPtr(0))。
# ============================================================
# ---- X509 certificate ----
# X509 *PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_X509(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> X509Ptr
# int PEM_write_bio_X509(BIO *bp, X509 *x)
extern def PEM_write_bio_X509(bp: BioPtr, x: X509Ptr) -> int
# X509 *PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_X509_AUX(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> X509Ptr
# int PEM_write_bio_X509_AUX(BIO *bp, X509 *x)
extern def PEM_write_bio_X509_AUX(bp: BioPtr, x: X509Ptr) -> int
# ---- Private / public key (generic EVP_PKEY container) ----
# EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_PrivateKey(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> EvpPkeyPtr
# int PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
# const unsigned char *kstr, int klen, pem_password_cb *cb, void *u)
extern def PEM_write_bio_PrivateKey(bp: BioPtr, x: EvpPkeyPtr, enc: EvpCipherPtr,
kstr: bytes, klen: int, cb: bytes, u: bytes) -> int
# EVP_PKEY *PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_PUBKEY(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> EvpPkeyPtr
# int PEM_write_bio_PUBKEY(BIO *bp, EVP_PKEY *x)
extern def PEM_write_bio_PUBKEY(bp: BioPtr, x: EvpPkeyPtr) -> int
# ---- Legacy RSA private key (still exported in OpenSSL 3.x, for old files) ----
# RSA *PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_RSAPrivateKey(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> bytes
# int PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc,
# const unsigned char *kstr, int klen, pem_password_cb *cb, void *u)
extern def PEM_write_bio_RSAPrivateKey(bp: BioPtr, x: bytes, enc: EvpCipherPtr,
kstr: bytes, klen: int, cb: bytes, u: bytes) -> int
# ---- Certificate request / CRL ----
# X509_REQ *PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_X509_REQ(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> X509ReqPtr
# X509_CRL *PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb *cb, void *u)
extern def PEM_read_bio_X509_CRL(bp: BioPtr, x: bytes, cb: bytes, u: bytes) -> X509CrlPtr
# ---- Convenience readers (caller passes no x out-param / cb) ----
def pem_read_bio_x509_simple(bp: BioPtr) -> X509Ptr:
return PEM_read_bio_X509(bp, None, None, None)
def pem_read_bio_privkey_simple(bp: BioPtr) -> EvpPkeyPtr:
return PEM_read_bio_PrivateKey(bp, None, None, None)
def pem_read_bio_pubkey_simple(bp: BioPtr) -> EvpPkeyPtr:
return PEM_read_bio_PUBKEY(bp, None, None, None)