安装cmssign工具
检查root用户的umask
如果root用户计划允许其他用户使用安装的Python等软件,请执行以下操作。否则,请确认umask符合用户所在组织的安全设置规范。
-
umask
如果umask不等于077,请执行如下操作配置,在该文件的最后一行添加umask 077后保存。
- 在任意目录下执行如下命令,打开.bashrc文件:
vi ~/.bashrc
在文件最后一行后面添加umask 077内容。
- 执行:wq!命令保存文件并退出。
- 执行source ~/.bashrc命令使其立即生效。
- 在任意目录下执行如下命令,打开.bashrc文件:

建议在cmssign工具使用完毕后,将用户umask修改至符合安全规范。
安装步骤
- 以安装用户登录需要运行cmssign工具的Linux服务器,并确保当前环境已安装Java。
- 在用户的家目录下,执行如下命令建立并载入虚拟python环境(如果创建失败,请根据提示安装所需组件)。
python3 -m venv env
source ~/env/bin/activate
当用户不需要使用cmssign工具时,可执行如下命令退出虚拟python环境:
deactivate
- 执行如下命令升级pip版本。
python -m pip install --upgrade pip
- 执行如下命令安装cmssign工具包。
python -m pip install cmssign==0.0.5

- 安装完毕后,用户可选择执行如下命令,加固安装文件权限、确认可载入的python库路径是否符合预期、目录和文件的属主及权限是否符合预期等。
python -c "import sys; print('\n'.join(sys.path))"
find ~/env ! -user {用户名}
ls -ld ~/env
若执行find命令后返回的结果为空、执行Is命令显示该目录下其他用户不可读写,表示加固安装文件权限成功。
- 若已安装cmssign工具,可执行以下命令升级cmssign工具至最新版本。
- 数字签名文件使用的证书需使用安全的签名算法,例如使用无截断的sha2-256作为摘要和完整性验证算法、使用sha256_rsa作为签名摘要算法、使用安全的填充算法等。同时用户使用的算法、私钥长度、口令复杂度等需要符合所在组织的安全要求。
参数说明
使用cmssign工具时,用户根据实际需要选择对应参数。
选项 |
用途 |
---|---|
--help | -h |
查询帮助信息。 |
--signer |
用于签名的证书文件,.der格式,需指定。 |
--key |
用于签名的私钥文件,需指定。 |
--signerCA |
用于签名的根证书文件,.der格式,需指定。 |
--signerCRL |
用于签名的CRL文件,.der格式,需指定。 |
--rootCRL |
用户根证书的CRL文件,.der格式,需指定。 |
--tssigner |
用于时间戳签名的证书文件,.der格式,需指定。 |
--tskey |
用于时间戳签名的私钥文件,需指定。 |
--tsCA |
用于时间戳签名的根证书文件,.der格式,需指定。 |
--timestamp |
用于设置签名文件的时间戳,可选。若未设置该参数,则默认使用系统时间戳。配置格式示例如下: '20220101'或'20220101123000'。 |
--in |
需要进行签名的ini文件,需指定。 |
--out |
用于保存cms签名的文件,若未配置,将默认为“infile.p7s”。 |
使用cmssign combine --help命令查询的参数请参见表2所示: