安装cmssign工具

检查root用户的umask

如果root用户计划允许其他用户使用安装的python等软件,请执行以下操作。否则,请确认umask符合用户所在组织的安全设置规范。

  1. 以root用户登录待安装Linux环境。

  2. 执行如下命令,检查root用户的umask值。

    umask

  3. 如果umask不等于077,请执行如下操作配置,在该文件的最后一行添加umask 077后保存。

    1. 在任意目录下执行如下命令,打开.bashrc文件:

      vi ~/.bashrc

      在文件最后一行后面添加umask 077内容。

    2. 执行:wq!命令保存文件并退出。
    3. 执行source ~/.bashrc命令使其立即生效。

建议在cmssign工具使用完毕后,将用户umask修改至符合安全规范。

安装步骤

  1. 以安装用户登录需要运行cmssign工具的Linux服务器。
  2. 在用户的家目录下,执行如下命令建立并载入虚拟python环境(如果创建失败,请根据提示安装所需组件)。

    python3 -m venv env

    source ~/env/bin/activate

    当用户不需要使用cmssign工具时,可执行如下命令退出虚拟python环境:

    deactivate

  3. 执行如下命令升级pip版本。

    python -m pip install --upgrade pip

  4. 执行如下命令安装cmssign工具包。

    python -m pip install cmssign==0.0.3

  • 安装完毕后,用户可选择执行如下命令,加固安装文件权限、确认可载入的python库路径是否符合预期、目录和文件的属主及权限是否符合预期等。

    chmod -R g-rwx,o-rwx ~/env

    python -c "import sys; print('\n'.join(sys.path))"

    find ~/env ! -user {用户名}

    ls -ld ~/env

    若执行find命令后返回的结果为空、执行Is命令显示该目录下其他用户不可读写,表示加固安装文件权限成功。

  • 若已安装cmssign工具,可执行以下命令升级cmssign工具至0.0.3版本。

    python3 -m pip install -U cmssign==0.0.3

  • 数字签名文件使用的证书需使用安全的签名算法,例如使用无截断的sha2-256作为摘要和完整性验证算法、使用sha256_rsa作为签名摘要算法、使用安全的填充算法等。同时用户使用的算法、私钥长度、口令复杂度等需要符合所在组织的安全要求。

参数说明

使用cmssign工具时,用户根据实际需要选择对应参数。

使用cmssign sign --help命令查询的参数请参见表1所示。
表1 cmssign sign参数说明

选项

用途

--help | -h

查询帮助信息。

--signer

用于签名的证书文件,需指定。

--key

用于签名的私钥文件,需指定。

--tssigner

用于时间戳签名的证书文件,需指定。

--tskey

用于时间戳签名的私钥文件,需指定。

--timestamp

用于设置签名文件的时间戳,可选。若未设置该参数,则默认使用系统时间戳。配置格式示例如下:

'20220101'或'20220101123000'。

--in

需要进行签名的ini文件,需指定。

--out

用于保存cms签名的文件,若未配置,将默认为“infile.cms”。

使用cmssign combine --help命令查询的参数请参见表2所示:

表2 cmssign combine参数说明

选项

用途

--help | -h

查询帮助信息。

--cmsfile

用于合成的cms签名文件,需指定。

--tsfile

用于合成的时间戳文件,需指定。

--out

用于保存合成后的cms签名的文件,需指定。