MCPcopy
hub / github.com/tjfoc/gmsm

github.com/tjfoc/gmsm @v1.4.1 sqlite

repository ↗ · DeepWiki ↗ · release v1.4.1 ↗
907 symbols 2,926 edges 57 files 357 documented · 39%
README

gmsm

GM SM2/3/4 library based on Golang

Build Status

Feature

gmsm包含以下主要功能

SM2: 国密椭圆曲线算法库
    . 支持Generate Key, Sign, Verify基础操作
    . 支持加密和不加密的pem文件格式(加密方法参见RFC5958, 具体实现参加代码)
    . 支持证书的生成,证书的读写(接口兼容rsa和ecdsa的证书)
    . 支持证书链的操作(接口兼容rsa和ecdsa)
    . 支持crypto.Signer接口

SM3: 国密hash算法库
   . 支持基础的sm3Sum操作
   . 支持hash.Hash接口

SM4: 国密分组密码算法库
    . 支持Generate Key, Encrypt, Decrypt基础操作
    . 提供Cipher.Block接口
    . 支持加密和不加密的pem文件格式(加密方法为pem block加密, 具体函数为x509.EncryptPEMBlock)

Usage 使用说明

Communication

tjfoc国密交流

Join the chat at https://gitter.im/tjfoc/gmsm

  • 如果你对国密算法开源技术及应用感兴趣,欢迎添加“苏州同济区块链研究院·小助手“微信,回复“国密算法进群”,加入“同济区块链国密算法交流群”。微信二维码如下:
    微信二维码

  • 发送邮件到tj@wutongchain.com

## License 版权所有 苏州同济区块链研究院有限公司(http://www.wutongchain.com/)

Copyright 2017- Suzhou Tongji Fintech Research Institute. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

Extension points exported contracts — how you extend this code

ClientSessionCache (Interface)
ClientSessionCache is a cache of ClientSessionState objects that can be used by a client to resume a TLS session with a [1 …
gmtls/common.go
AuthInfo (Interface)
AuthInfo defines the common interface for the auth information the users are interested in. [1 implementers]
gmtls/gmcredentials/credentials.go
PerRPCCredentials (Interface)
PerRPCCredentials defines the common interface for the credentials which need to attach security information to every RP
gmtls/gmcredentials/credentials.go

Core symbols most depended-on inside this repo

New
called by 354
x509/x509.go
sendAlert
called by 216
gmtls/conn.go
Equal
called by 130
x509/x509.go
marshal
called by 128
gmtls/common.go
Write
called by 101
gmtls/conn.go
sm2P256Mul
called by 51
sm2/p256.go
writeRecord
called by 51
gmtls/conn.go
Sign
called by 42
sm2/sm2.go

Shape

Method 373
Function 357
Struct 141
TypeAlias 21
Interface 15

Languages

Go100%

Modules by API surface

x509/x509.go80 symbols
x509/pkcs7.go60 symbols
gmtls/handshake_messages.go56 symbols
gmtls/conn.go50 symbols
gmtls/cipher_suites.go49 symbols
gmtls/common.go48 symbols
sm2/p256.go40 symbols
sm2/sm2.go35 symbols
gmtls/gm_support.go28 symbols
pkcs12/pkcs12.go25 symbols
pkcs12/crypto.go24 symbols
sm4/sm4.go22 symbols

Dependencies from manifests, versioned

golang.org/x/cryptov0.0.0-2020101217370 · 1×
golang.org/x/netv0.0.0-2020101022472 · 1×
google.golang.org/grpcv1.31.0 · 1×

For agents

$ claude mcp add gmsm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact