gmssl
GMSSL is a command line tool provided by the OpenSSL project. It is an open-source software library that implements the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols. GMSSL, also known as Guomi SSL, is a Chinese cryptographic library that provides enhanced cryptographic algorithms compliant with the Chinese National Cryptographic Algorithm standards.
GMSSL includes various command line operations to perform tasks related to SSL/TLS certificates, cryptographic operations, and encryption algorithms. Some of the features supported by GMSSL include generating keypairs, certificates, and certificate signing requests (CSRs), encrypting and decrypting files, creating digital signatures, computing hash values, and performing various cryptographic operations.
GMSSL supports a wide range of cryptographic algorithms, including symmetric encryption algorithms like AES, SM4, and DES; asymmetric encryption algorithms like RSA and SM2; hash algorithms like SHA-1, SHA-256, and SM3; and digital signature algorithms like RSA, SM2, and ECDSA.
GMSSL is often used in Chinese government projects and Chinese enterprises due to its compliance with the national cryptographic standards. It provides a command line interface to interact with the cryptographic functionalities offered by the OpenSSL library, allowing users to easily utilize various cryptographic operations through a terminal or script.
List of commands for gmssl:
-
gmssl:tldr:2619c gmssl: Generate an SM3 hash for a file.$ gmssl sm3 ${filename}try on your machineexplain this command
-
gmssl:tldr:54f00 gmssl: Encrypt a file using the SM4 cipher.$ gmssl sms4 -e -in ${filename} -out ${filename-sms4}try on your machineexplain this command
-
gmssl:tldr:abf90 gmssl: Decrypt a file using the SM4 cipher.$ gmssl sms4 -d -in ${filename-sms4}try on your machineexplain this command
-
gmssl:tldr:b547e gmssl: Decrypt a file using the ZUC cipher.$ gmssl zuc -d -in ${filename-zuc}try on your machineexplain this command
-
gmssl:tldr:bfe96 gmssl: Generate an SM2 private key.$ gmssl sm2 -genkey -out ${filename-pem}try on your machineexplain this command
-
gmssl:tldr:ed5f2 gmssl: Encrypt a file using the ZUC cipher.$ gmssl zuc -e -in ${filename} -out ${filename-zuc}try on your machineexplain this command
-
gmssl:tldr:fae33 gmssl: Generate an SM2 public key from an existing private key.$ gmssl sm2 -pubout -in ${filename-pem} -out ${filename-pem-pub}try on your machineexplain this command