[TITLE]
Odoo Sign 安全与认证功能详解

[DESCRIPTION]
本文系统阐述 Odoo Sign 的安全与认证机制,包括默认的邮件验证、签名哈希、完成证书,以及可选的短信验证码、Aadhaar eSign、itsme 等受保护身份验证方式和加密签名的使用方法,帮助用户全面提升文档签署的安全性与合规性。

[KEYWORDS]
Odoo Sign, 安全认证, 签名哈希, 完成证书, 加密签名, 身份验证, 短信验证码, Aadhaar eSign, itsme, 数字证书

[TRANSLATED_CONTENT]

# 安全与认证

默认情况下,Odoo Sign 集成了多种安全功能,例如:

- `电子邮件验证 <sign/security/authentication>`,签署者通过发送到其邮箱的唯一链接接收文档或 `多个文档的信封 <sign/prepare-document/create-envelope>`- 将签署者身份与签署时文档的确切内容关联的 `签名哈希 <sign/security/hash>`- 提供签署过程细节的 `完成证书 <sign/security/certificate-of-completion>`
可通过以下方式进一步提升安全性:

- 要求其他 `受保护身份验证 <sign/security/authentication>` 方法,例如 SMS、Aadhaar eSign(印度)或 itsme®(欧盟、英国、挪威、冰岛);
- 使用 `加密签名 <sign/security/cryptographic>`,通过证书颁发机构(CA)颁发的数字证书或自行生成的证书进行签署。

## 签名哈希 {#sign/security/hash}

当有人签署文档时,会生成一个 *哈希*(即操作的唯一数字签名),用于在签署时将签署者身份与文档的确切内容关联。此过程保证在签名后所做的任何更改都能被轻易检测,维护文档在整个生命周期中的真实性和完整性。

在签名和首字母缩写中会添加显示哈希开头的可视化安全框。

![在签名中添加可视化安全框。](security_authentication/hash-frame.png)

:::: tip
::: title
提示
:::

内部用户可以在 `添加签名或首字母缩写到文档 <sign/sign-document/initials-signature>` 时,通过开启或关闭 `框架` 选项来显示或隐藏该框。
::::

每位签署者的签名哈希会在 `完成证书 <sign/security/certificate-of-completion>` 中提供,该证书在文档全部签署完成后生成并发送给所有签署者。

## 完成证书 {#sign/security/certificate-of-completion}

每当文档或文档信封全部签署完成(即所有签署者都已签署),系统会生成完成证书并通过电子邮件发送给所有签署者,同时附上已完整签署的文档。

:::: note
::: title
注意
:::

当文档通过 Odoo 记录的聊天窗口 `签署 <sign_document>`,或从 Odoo 记录发起的签名请求(无论是 `一次性文档 <sign/request-signatures/one-off-record>` 还是 `使用模板 <sign/templates/use-odoo-record>`)全部完成后,完成证书也会被添加到聊天窗口,并附上已完整签署的文档。
::::

该证书包含支持签名有效性的签署过程细节,证明文档在签署后未被篡改。

![完成证书](security_authentication/certificate-of-completion.png)

提供的信息包括:

- `文档详情`:包括签名请求的创建时间和创建者、已签署的 [.pdf] 文档名称、签署人数以及可选的唯一引用哈希(可添加到每页签署文档);
- `参与者` 列表:包括签署者、验证方式以及确保可追溯性和完整性的唯一 `签名哈希 <sign/security/hash>`- 带时间戳、IP 和地理位置的 `签署事件``访问日志` 记录。

完成证书除了通过电子邮件发送外,也可以随时在 Sign 应用中下载:

1. 前往 `Sign --> 所有文档` 并切换到看板视图。  
2. 在文档卡片右上角点击 `fa-ellipsis-v`(垂直省略号)图标,然后点击 **详情**3. 点击 **下载**,随后选择 **证书**
## 受保护身份验证 {#sign/security/authentication}

当签名请求通过电子邮件发送时,签署者点击邮件中的唯一链接访问文档。此默认验证步骤用于确认签署者拥有与签名请求关联的电子邮件地址。

也可以为一个或多个签署者要求额外的身份验证,方法包括:

- `短信验证码 <sign/security/authentication-sms>`  
- `Aadhaar eSign <sign/security/authentication-aadhaar>`(仅限印度)  
- `itsme® <sign/security/authentication-itsme>`(欧盟、英国、挪威、冰岛)

:::: important
::: title
重要
:::

这些身份验证方法需要 `购买积分 <in_app_purchase/credits>`。如果积分已用完,则会跳过身份验证。
::::

::: seealso
- `应用内购买 (IAP) <../../essentials/in_app_purchase>`  
- `短信定价与常见问题 <../../marketing/sms_marketing/pricing_and_faq>`
:::

### 短信验证码 {#sign/security/authentication-sms}

通过 SMS 身份验证时,签署者会收到一次性验证码,需在签署过程中输入以确认身份。

此功能在 Sign 的 `通用设置 <sign/configuration/settings>` 中默认启用。

:::: note
::: title
注意
:::

在发送短信之前,需要先登记手机号码。路径:`Sign --> 配置 --> 设置`,在 **通过 SMS 验证** 下点击 **管理服务并购买积分**,随后在弹出页面点击 `fa-arrow-right` **注册** 并完成手机号码登记。
::::

启用短信验证码的步骤:

1. 打开文档或文档信封,在左侧面板中点击对应签署者的 `fa-ellipsis-v`(垂直省略号)图标,然后选择 **编辑**2. 在弹窗中将 **身份验证** 设为 **短信验证码**3. 点击 **保存**
签署文档时,会弹出 **最终验证** 窗口,签署者先输入手机号码,再输入收到的一次性验证码。

![签署者输入手机号码和一次性验证码的弹窗](security_authentication/sms-verification.png)

### Aadhaar eSign {#sign/security/authentication-aadhaar}

Aadhaar eSign 允许 **印度** 的签署者使用其 Aadhaar 编号和一次性密码(OTP)进行数字签署,提供安全且具法律效力的签署方式。

:::: important
::: title
重要
:::

在 Odoo Sign 中,Aadhaar eSign 只能用于包含单个文档的签名请求,并且每个文档只能有一位签署者使用 Aadhaar eSign,且该签署者必须是最后签署的方。此方式适用于单文件单签或首签方即为发送签名请求方的场景。
::::

启用 Aadhaar eSign:前往 `Sign --> 配置 --> 设置`,勾选 **使用 Aadhaar eSign**
启用 Aadhaar eSign 的步骤:

1. 打开文档或文档信封,在左侧面板中点击对应签署者的 `fa-ellipsis-v`(垂直省略号)图标。  
2. 在弹窗中将 **身份验证** 设为 **通过 Aadhaar eSign**3. 点击 **保存**
签署文档时,会出现 **最终验证** 页面,需要进行 Aadhaar 验证。

:::: note
::: title
注意
:::

下载的文档中会包含来自 eMudhra 的数字证书。
::::

### itsme® {#sign/security/authentication-itsme}

itsme® 身份验证允许 **欧盟、英国、冰岛、挪威** 的签署者证明其身份。

启用 itsme®:前往 `Sign --> 配置 --> 设置`,勾选 **使用 itsme® 进行身份验证**
启用 itsme® 的步骤:

1. 打开文档或文档信封,在左侧面板中点击对应签署者的 `fa-ellipsis-v`(垂直省略号)图标。  
2. 在弹窗中将 **身份验证** 设为 **通过 itsme®**3. 点击 **保存**
签署文档时,会出现 **最终验证** 页面,需要进行 itsme® 验证。

## 加密签名 {#sign/security/cryptographic}

Odoo Sign 允许使用自有数字证书对文档进行签署。数字证书利用密码学(安全的数学算法)来确保签署文档的真实性和完整性。

真实性体现在已验证的身份与签名关联;完整性体现在文档在未使加密签名失效的情况下无法被篡改。

数字证书存放于 [.p12] 或 [.pfx] 文件中,属于安全容器,包含:

- 用于对文档进行唯一加密签名的 *私钥*- 包含签署者信息的 *公钥*,供接收方进行签名验证。

该文件始终受密码保护,密码不会以明文形式存储。Odoo 在文档签署时使用该密码解密私钥。

### 获取或创建数字证书 {#sign/security/cryptographic-obtain-create}

大多数企业从可信的 **证书颁发机构(CA)** 获取数字证书,CA 通常直接提供 [.p12] 或 [.pfx] 文件及其密码。

也可以自行生成证书,例如使用 [Adobe Acrobat] 或 [Microsoft] 等工具。

:::: note
::: title
注意
:::

自行生成的数字证书可信度不如 CA 颁发的证书,但在紧急或非正式场景下仍可用于数字签名。
::::

获取或创建证书后,可将其 `上传到 Odoo 数据库 <sign/security/cryptographic-upload>`
### 在 Odoo 中上传数字证书 {#sign/security/cryptographic-upload}

上传步骤:

1. 前往 `Sign --> 配置 --> 设置`2.**加密签名** 区域,点击 **签名证书** 下拉框并选择 **创建**3. 在弹窗中填写:
   - **名称**:证书的名称。  
   - **证书**:点击 **上传文件**,选择 [.p12] 或 [.pfx] 格式的证书文件。  
   - **证书密码**:输入上传文件的密码(至少 6 位),该密码用于在签署时解密私钥。  
4. 点击 **保存**
:::: note
::: title
注意
:::

- 证书上传后,系统会自动填充只读的 **有效期**(证书生效日期)和 **序列号**(将添加到签署文档中)。  
- 在多公司环境下,每个公司可单独上传一份证书。
::::

[SUMMARY]

  • 安全与认证
    • 默认安全功能
      • 邮件验证
      • 签名哈希
      • 完成证书
    • 可选安全措施
      • 受保护身份验证(短信验证码、Aadhaar eSign、itsme)
      • 加密签名
  • 签名哈希
    • 生成唯一数字签名
    • 可视化安全框
    • 在完成证书中展示
  • 完成证书
    • 通过邮件发送并可在应用中下载
    • 包含文档详情、参与者、签署事件日志
  • 受保护身份验证
    • 短信验证码:一次性码 + 注册手机
    • Aadhaar eSign(印度):单文档单签,需 OTP
    • itsme®(欧盟等):itsme 身份验证
  • 加密签名
    • 使用数字证书(.p12/.pfx)
    • 证书获取方式:CA 或自行生成
    • 上传步骤:设置 → 加密签名 → 创建证书 → 填写信息并保存