gmkitx API - v0.10.1
    正在准备搜索索引...

    gmkitx API - v0.10.1

    公共 API 覆盖数据

    本页是文档门禁使用的维护数据,列出 gmkitx 根入口和 Java 发布 JAR 的公共类型。使用方法、默认值、失败行为和示例请阅读 TypeScript API 说明书Java API 说明书;普通接入不需要逐项阅读本页。

    发布单元 公共边界 非公共路径
    gmkitx packages/ts/src/index.ts 经 package exports 暴露的根入口;另开放 gmkitx/package.json src/*dist/* 深度导入
    cn.gmkit:gmkit 发布 JAR 中 cn.gmkit 下的 public 类型和成员 package-private 实现、测试源码
    cn.gmkit:gmkit-sm9 发布 JAR 中 cn.gmkit.sm9 的 public 类型和成员 JNI bridge/loader 的 package-private 实现

    Java 与 TypeScript 独立版本化。共享向量只冻结指定协议字段,不表示两端 API、ABI、异常或对象生命周期相同。

    以下名称全部从 gmkitx 根入口公开。按场景调用的完整说明见 TypeScript API 说明书

    能力 命名空间 推荐顶层函数
    SM2 sm2 sm2GenerateKeyPair, sm2GetPublicKeyFromPrivateKey, sm2CompressPublicKey, sm2DecompressPublicKey, sm2Encrypt, sm2Decrypt, sm2DecryptBytes, sm2Sign, sm2Verify, sm2KeyExchange
    SM3 sm3 sm3Digest, sm3Hmac
    SM4 sm4 sm4Encrypt, sm4Decrypt, sm4DecryptBytes
    ZUC zuc zucEncrypt, zucDecrypt, zucDecryptBytes, zucKeystream, zucKeystreamWords, zucGenerateKeystream, eea3, eea3Encrypt, eia3
    SHA sha sha1, sha256, sha384, sha512, hmacSha256, hmacSha384, hmacSha512

    推荐顶层函数能直接表达算法归属。命名空间适合统一注入;类适合保存状态或配置。不要混用无前缀旧别名编写新代码。

    能力 类 / 状态 类型
    SM2 SM2 KeyPair, SignOptions, VerifyOptions, SM2CurveParams, SM2KeyExchangeParams, SM2KeyExchangeResult, SM2EncryptOptions, SM2DecryptOptions, SM2SignatureFormat, SM2SignatureInputFormat
    SM3 SM3 SM3Options
    SM4 SM4 SM4Options, SM4DecryptOptions, SM4CipherResult, SM4GCMResult, SM4CCMResult, SM4AEADResult
    ZUC ZUC, ZUCState ZUCOptions, ZUCDecryptOptions
    SHA SHA1, SHA256, SHA384, SHA512 SHAOptions

    ZUCStatezucGenerateKeystream 是较底层入口,适合明确按 32-bit word 处理的协议实现;普通字节数据使用高层 API。

    导出 说明
    OutputFormat, OutputFormatType hex / base64 输出
    InputFormat, InputFormatType hex / base64 输入
    PaddingMode, PaddingModeType pkcs7 / none / zero
    CipherMode, CipherModeType SM4 的 ECB/CBC/CTR/CFB/OFB/GCM/CCM
    SM2CipherMode, SM2CipherModeType C1C3C2 / C1C2C3
    OID SM2、SM2-with-SM3、SM3、SM4 与历史 EC 公钥 OID
    DEFAULT_USER_ID 兼容默认值 1234567812345678
    分类 公开导出
    Hex/Base64/UTF-8 hexToBytes, bytesToHex, base64ToBytes, bytesToBase64, stringToBytes, bytesToString
    统一输入输出 normalizeInput, decodeInput, encodeOutput, autoDecodeString
    字节运算 xor, rotl, bytes4ToUint32BE, uint32ToBytes4BE, constantTimeEqual
    格式判断 isHexString, isBase64String
    随机源 configureRNG, setRNGPolicy, setCustomRNG, clearCustomRNG, hasCustomRNG, getRandomBytes
    环境/文本 setTextCodec, getEnvReport
    公共类型 BytesLike, RNGPolicy, TextCodec, EnvReport
    ASN.1 签名 encodeSignature, decodeSignature, rawToDer, derToRaw, asn1ToXml, signatureToXml

    上述工具的精确语义见 公共能力asn1ToXml 是受限调试输出,不是 X.509/PKCS 通用解析器。

    旧名称 推荐替代项
    generateKeyPair sm2GenerateKeyPair
    getPublicKeyFromPrivateKey sm2GetPublicKeyFromPrivateKey
    compressPublicKey sm2CompressPublicKey
    decompressPublicKey sm2DecompressPublicKey
    sign sm2Sign
    verify sm2Verify
    keyExchange sm2KeyExchange
    digest sm3Digest
    hmac sm3Hmac

    这些名称仍存在于具名导出和 default 聚合对象中,@deprecated 只影响提示,不改变运行时。删除需要版本和迁移记录,不能在补丁版本静默发生。

    default 导出用于 UMD/CDN 和旧整体导入,包含 sm2sm3sm4zucsha,全部推荐顶层算法函数,以及上述弃用别名。编码、RNG、ASN.1 和类型工具不在默认对象中,应使用具名导入。

    以下类型来自两个 Maven 发布 JAR。各重载、Builder、异常和生命周期说明见 Java API 说明书

    类型 作用
    HexCodec, Base64Codec, ByteEncodings 严格 Hex/Base64 编解码与统一 Input/OutputFormat 转换
    Texts UTF-8 或显式 Charset 的字符串/字节转换
    Bytes 防御性复制、长度检查、拼接、区间复制和敏感值比较
    Checks 通用非空、非空白和默认值检查
    BcProviders 创建、查找或按需注册 Bouncy Castle Provider
    GmSecurityContext, GmSecurityContexts 封装 Provider、SecureRandom 和注册策略
    InputFormat, OutputFormat HEX / BASE64 枚举
    SM2CipherMode C1C3C2 / C1C2C3
    SM2SignatureFormat, SM2SignatureInputFormat RAW / DER 与验签 AUTO
    SM4CipherMode, SM4Padding SM4 mode 与 padding 枚举
    GmkitException 主包参数和密码操作运行时异常
    Messages 主包双语错误消息构造;应用通常不需要直接调用
    类型 作用
    SM2, SM2Util 实例式与静态式主入口
    SM2KeyPair publicKey() / privateKey() Hex 值对象
    SM2SignOptions, SM2VerifyOptions 签名格式、身份、Z 语义与安全上下文配置
    SM2KeyExchangeOptions, SM2KeyExchangeResult 角色、bit 长度、身份、确认标签和派生结果
    SM2Ciphertext, SM2Ciphertexts C1/C2/C3 结构和 raw/DER、排列转换
    SM2Signatures raw/DER 签名格式转换与解析
    公共类型 作用
    cn.gmkit.sm3 SM3, SM3Util 摘要与 HMAC 的实例/静态入口
    cn.gmkit.sm4 SM4, SM4Util, SM4Options, SM4CipherResult 加解密、配置与结构化结果
    cn.gmkit.zuc ZUC, ZUCUtil ZUC-128、EEA3、EIA3 静态入口
    类型 作用
    SM2Sm4Hybrid 生成随机 SM4 key,用 SM4 处理数据并用 SM2 加密会话 key
    SM2Sm4HybridPayload 保存加密 key、密文、IV、AAD、tag、mode 和 padding

    它是 Java 混合加密值对象,不是跨语言序列化格式。跨系统传输前仍需定义 JSON/二进制 schema、字段编码和版本。

    类型 作用
    SM9 native 可用性、密钥、签名验签和 IBE 门面
    SM9SignMasterKey, SM9SignKey 签名主密钥/公开主密钥与用户签名私钥
    SM9EncMasterKey, SM9EncKey 加密主密钥/公开主密钥与用户解密私钥
    SM9Signature 可复用流式签名/验签上下文
    SM9Exception, SM9UnsupportedPlatformException 操作失败与平台不支持异常

    SM9 handle 类型都实现 AutoCloseable,详细生命周期见 SM9

    新增或删除 TypeScript 顶层导出、Java public 顶层类型时,文档检查会要求同步更新本页。方法级签名由 TypeDoc/Javadoc 门禁检查;兼容策略见仓库 docs/API_STABILITY.md