跳转到主要内容

适用于X.509标准TLS证书状态的简单通知服务

项目描述

firmitas

适用于X.509标准TLS证书状态的简单通知服务

__使用方法__

  1. 将仓库克隆到您的本地存储,并将其设置为当前工作目录。
    $ git clone https://gitlab.com/t0xic0der/firmitas.git
    
    $ cd firmitas
    
  2. 确保系统中已安装并更新了PoetryVirtualenv
    $ sudo dnf install --assumeyes poetry virtualenv
    
  3. 在克隆的本地目录内创建一个虚拟环境并启用它。
    $ virtualenv venv
    
    $ source venv/bin/activate
    
  4. 在启用的虚拟环境中安装项目和其依赖项。
    $ (venv) poetry install
    
  5. 复制项目配置文件并对其进行修改。
    $ (venv) cp firmitas/conf/standard.py firmitas/conf/myconfig.py
    
    项目配置文件包含以下变量,可以根据项目用户的需要修改。
    • gitforge - 需要创建问题票据的源代码 forge。此配置变量的有效选项为 githubgitlabpagurepagure 的支持已实现,而 githubgitlab 的支持正在计划中。
    • repoloca - 票据仓库的位置。对于需要项目访问 API 并创建通知票据的远程票据仓库绝对位置的源代码 forge,这是必需的。
    • reponame - 票据仓库的名称。对于需要包含远程票据仓库命名空间的仓库名称的源代码 forge,这是必需的,以便项目能够访问 API 并创建通知票据。
    • username - 用于创建通知票据的伪装用户名。对于需要与 API 令牌关联的用户名的源代码 forge,这是必需的,以便项目代表其进行身份验证。
    • password - 属于上述用户名的密码或 API 令牌。对于需要与票据仓库关联的密码或 API 令牌的源代码 forge,这是必需的,以便在所有者代表下对项目进行身份验证。
    • daysqant - 从有效期到期日期剩余的最小天数,用于制作通知。作为一个合理的默认值,当 TLS 证书距离其验证到期日期还有 30 天时,就会打开一个通知票据。
    • tagslist - 通知票据要添加的标签列表。至少需要一个标签,以确保可以从共享问题跟踪器中过滤出自动创建的通知票据和手动创建的票据。
    • maxretry - 当打开通知票据的过程失败时,要尝试的最大次数。作为一个合理的默认值,设置为允许最多重试 5 次,并且将值设置得大于 1 是一个好的做法,以补偿连接不稳定。
    • certloca - 存储 X.509 标准 TLS 证书的位置。请注意,这指的是本地可用的存储位置,而不是远程可用的存储位置。默认设置为 "/var/tmp/firmitas/certhere" 目录。
    • hostloca - 存储 service 主机名映射文件、维护者、证书统计信息和通知统计信息的位置。与之前的配置变量一样,这也指的是本地可用的存储位置。
    • logrconf - 设置项目日志行为的配置变量。作为一个合理的默认值,日志级别已设置为 "DEBUG",以允许在详细信息中具有更大的详细程度,并且为控制台处理程序设置了自定义格式。
    • certdict - 在整个项目中用于共享要检查的证书的详细信息、颁发机构的统计信息、序列号、日期信息等的全局变量。不要更改它,因为它会被覆盖。
  6. 复制映射配置文件,然后对其进行更改。
    $ (venv) cp firmitas/conf/certlist.yml firmitas/conf/mytlscts.yml
    
    映射配置文件包含具有以下变量的服务主机名列表,这些变量可以根据项目用户的需要修改,或者由项目在运行时计算。
    • path:X.509 标准 TLS 证书文件相对于在项目配置文件中设置的 "certloca" 变量的位置。这有助于项目定位 X.509 标准 TLS 证书文件,以便读取并采取行动。
    • user:在源代码 forge 上的用户名,该用户名以前在项目配置文件中的 "gitforge" 变量上设置。如果用户名在指定的源代码 forge 上不可用,则通知票据制作过程将出错。
    • certstat:这包含了一组变量列表,这些变量不能手动设置,因为它们在项目运行时会被覆盖。以下是这些变量的列表及其相关含义和重要性。
      • cstarted:布尔类型变量。如果当前日期时间大于声明的X.509标准TLS证书的“不在有效之前”日期时间,则计算为TRUE;如果当前日期时间小于同一证书的“不在有效之前”日期时间,则计算为FALSE。
      • cstopped:布尔类型变量。如果当前日期时间大于声明的X.509标准TLS证书的“不在有效之后”日期时间,则计算为TRUE;如果当前日期时间小于同一证书的“不在有效之后”日期时间,则计算为FALSE。
      • daystobt:整数类型变量。这是从当前日期时间到声明的X.509标准TLS证书生效日期时间的日期差异。这可以是正整数,如果“不在有效之前”日期时间尚未到达;如果“不在有效之前”日期时间已经过去,则可以是负整数。
      • daystodd:整数类型变量。这是从当前日期时间到声明的X.509标准TLS证书过期日期时间的日期差异。这可以是正整数,如果“不在有效之后”日期时间尚未到达;如果“不在有效之后”日期时间已经过去,则可以是负整数。
      • issuauth:字符串类型变量。存储声明的X.509标准TLS证书的签发机构名称。如果计划使用同一签发机构重新生成新证书,这可能很有用。
      • serialno:字符串类型变量。存储声明的X.509标准TLS证书的序列号。在决定重新生成新证书之前,这可以用来使现有证书失效,这可能很有用。
      • strtdate:日期时间类型变量。这是由“不在有效之前”日期时间值组成的日期时间数据。
      • stopdate:日期时间类型变量。这是由“不在有效之后”日期时间值组成的日期时间数据。
    • notistat:这包含了一组变量列表,这些变量不能手动设置,因为它们在项目运行时会被覆盖。以下是这些变量的列表及其相关含义和重要性。
      • done:布尔类型变量。存储表示是否已发出关于声明的X.509标准TLS证书到期通知的标志。如果已创建通知,则变量设置为TRUE,否则为FALSE。
      • link:字符串类型变量。存储在项目配置文件中“gitforge”变量之前设置的所选源代码 forge 上的通知票据位置。
      • time:日期时间类型变量。存储之前声明的通知票据创建的日期时间信息。这可以用来跟踪是否发出了任何重复的通知。
  7. 确保在自定义项目配置文件中正确地指向自定义映射配置文件的存储位置。
  8. 通过运行以下命令查看项目服务的控制台帮助菜单。
    $ (venv) firmitas --help
    
    输出
    Usage: firmitas [OPTIONS]
    
    Options:
      -c, --conffile PATH  Read configuration from the specified Python file
      --version            Show the version and exit.
      --help               Show this message and exit.
    
  9. 设置适当的配置变量后,通过执行以下命令运行项目服务。
    $ (venv) firmitas --conffile firmitas/conf/myconfig.py
    
    在第一次成功运行后,请勿对映射配置文件中的现有条目进行任何更改,除非绝对有必要这样做,因为项目服务会从该文件写入和引用通知创建状态。项目服务第一次成功运行后,对文件中现有条目的任何未监控的更改可能导致意外后果,例如重复的通知条目、与服务相关的未跟踪的通知票据等。

__license__

该项目受GNU通用公共许可证3.0或更高版本许可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

firmitas-0.1.4.tar.gz (25.2 kB 查看散列)

上传

构建分发

firmitas-0.1.4-py3-none-any.whl (30.6 kB 查看散列)

上传 Python 3

支持者