docs/zh_CN: Add security digsig Chinese translation
authorShuo Zhao <zhaoshuo@cqsoftware.com.cn>
Wed, 8 Jan 2025 08:01:35 +0000 (16:01 +0800)
committerJonathan Corbet <corbet@lwn.net>
Thu, 9 Jan 2025 18:31:10 +0000 (11:31 -0700)
Translate .../security/digsig.rst into Chinese.

Update the translation through commit d56b699d76d1
("Documentation: Fix typos")

Reviewed-by: Yanteng Si <si.yanteng@linux.dev>
Signed-off-by: Shuo Zhao <zhaoshuo@cqsoftware.com.cn>
Reviewed-by: Yanteng Si <siyanteng@linux.dev>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20250108080136.19398-1-zhaoshuo@cqsoftware.com.cn
Documentation/translations/zh_CN/security/digsig.rst [new file with mode: 0644]
Documentation/translations/zh_CN/security/index.rst

diff --git a/Documentation/translations/zh_CN/security/digsig.rst b/Documentation/translations/zh_CN/security/digsig.rst
new file mode 100644 (file)
index 0000000..3e690b5
--- /dev/null
@@ -0,0 +1,103 @@
+.. SPDX-License-Identifier: GPL-2.0
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/security/digsig.rst
+
+:翻译:
+ 赵硕 Shuo Zhao <zhaoshuo@cqsoftware.com.cn>
+
+===============
+数字签名验证API
+===============
+
+:作者: Dmitry Kasatkin
+:日期: 2011.06.10
+
+
+.. 内容
+
+   1.介绍
+   2.API
+   3.用户空间工具
+
+
+介绍
+====
+
+数字签名验证API提供了一种验证数字签名的方法。
+目前,数字签名被IMA/EVM完整性保护子系统使用。
+
+数字签名验证是通过精简的GnuPG多精度整数(MPI)库的内核移植来实现的。
+该内核版本提供了内存分配错误处理,已根据内核编码风格进行重构,并修复
+了checkpatch.pl报告的错误和警告。
+
+公钥和签名由头部和MPIs组成::
+
+       struct pubkey_hdr {
+               uint8_t         version;        /* 密钥格式版本 */
+               time_t          timestamp;      /* 密钥时间戳,目前为0 */
+               uint8_t         algo;
+               uint8_t         nmpi;
+               char            mpi[0];
+       } __packed;
+
+       struct signature_hdr {
+               uint8_t         version;        /* 签名格式版本 */
+               time_t          timestamp;      /* 签名时间戳 */
+               uint8_t         algo;
+               uint8_t         hash;
+               uint8_t         keyid[8];
+               uint8_t         nmpi;
+               char            mpi[0];
+       } __packed;
+
+keyid等同对整个密钥的内容进行SHA1哈希运算后的第12到19字节。
+签名头部用于生成签名的输入。这种方法确保了密钥或签名头部无法更改。
+它保护时间戳不被更改,并可以用于回滚保护。
+
+API
+===
+
+目前API仅包含一个函数::
+
+       digsig_verify() - 使用公钥进行数字签名验证
+
+       /**
+       * digsig_verify() - 使用公钥进行数字签名验证
+       * @keyring:   查找密钥的密钥环
+       * @sig:       数字签名
+       * @sigen:     签名的长度
+       * @data:      数据
+       * @datalen:   数据的长度
+       * @return:    成功时返回0,失败时返回 -EINVAL
+       *
+       * 验证数据相对于数字签名的完整性。
+       * 目前仅支持RSA算法。
+       * 通常将内容的哈希值作为此函数的数据。
+       *
+       */
+       int digsig_verify(struct key *keyring, const char *sig, int siglen,
+                                 const char *data, int datalen);
+
+用户空间工具
+============
+
+签名和密钥管理实用工具evm-utils提供了生成签名、加载密钥到内核密钥环中的功能。
+密钥可以是PEM格式,或转换为内核格式。
+当把密钥添加到内核密钥环时,keyid定义该密钥的名称:下面的示例中为5D2B05FC633EE3E8。
+
+以下是keyctl实用工具的示例输出::
+
+       $ keyctl show
+       Session Keyring
+       -3 --alswrv      0     0  keyring: _ses
+       603976250 --alswrv      0    -1   \_ keyring: _uid.0
+       817777377 --alswrv      0     0       \_ user: kmk
+       891974900 --alswrv      0     0       \_ encrypted: evm-key
+       170323636 --alswrv      0     0       \_ keyring: _module
+       548221616 --alswrv      0     0       \_ keyring: _ima
+       128198054 --alswrv      0     0       \_ keyring: _evm
+
+       $ keyctl list 128198054
+       1 key in keyring:
+       620789745: --alswrv     0     0 user: 5D2B05FC633EE3E8
index 92e2d8a7dec89b60f3359c6d15b2a9bd20c96e30..c73cd289ac3e7d78cd681f936d5ded647939d8fc 100644 (file)
@@ -16,6 +16,7 @@
    :maxdepth: 1
 
    lsm
+   digsig
 
 TODOLIST:
 * credentials
@@ -28,7 +29,6 @@ TODOLIST:
 * self-protection
 * siphash
 * tpm/index
-* digsig
 * landlock
 * secrets/index
 * ipe