silverstripeltd / user-configurable-smime-forms
一个扩展用户表单的模块,使表单提交可以通过S/MIME加密发送电子邮件。
Requires
- php: ^8.0 || ^8.1
- dnadesign/silverstripe-elemental: ^4.4
- dnadesign/silverstripe-elemental-userforms: ^3.2
- lekoala/silverstripe-encrypt: ^3.4
- silverstripe/admin: ^1.11
- silverstripe/asset-admin: ^1.11
- silverstripe/framework: ^4.11
- silverstripe/smime: dev-master
- silverstripe/userforms: ^5.14
- silverstripe/vendor-plugin: ^1
- unclecheese/display-logic: ^2.0
Requires (Dev)
- nikic/php-parser: ^4.15
- php-parallel-lint/php-parallel-lint: ^1.2
- phpunit/phpunit: ^9
- slevomat/coding-standard: ~6.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-19 23:01:41 UTC
README
此模块为Silverstripe Elemental User Forms提供扩展,允许您选择是否对表单提交的电子邮件进行加密和/或数字签名,以增加安全性。
它使用S/MIME加密。
要求
- SilverStripe ^5
- SilverStripe Elemental Forms
安装
要开始使用此模块,只需将其添加到项目的依赖项中。
composer require silverstripeltd/user-configurable-smime-forms
许可证
见许可证
文档
在CMS内配置用户表单时,您可以指定是否将提交的表单数据通过电子邮件发送给一系列收件人。
此模块提供加密电子邮件的附加选项。当您向已知收件人发送电子邮件时,这特别有用,需要收件人的加密证书(.crt文件)。此模块添加了一个管理部分(ModelAdmin),用于管理和上传用于加密和数字签名电子邮件的S/MIME证书。
启用电子邮件加密
要启用加密,请转到表单的“配置”选项卡并选中“启用S/MIME加密”选项。设置此选项时,将表单提交发送给收件人,系统将检查该用户已上传的加密证书。注意:如果尚未存在,电子邮件将以未加密的形式发送,并在邮件主题中添加警告(UNENCRYPTED: CHECK CMS CONFIGURATION)。
管理S/MIME证书
此模块向CMS左侧菜单添加了S/MIME证书ModelAdmin,用于管理加密和签名证书,默认情况下,它可供具有完全访问权限的管理员使用。
要为特定的CMS组(例如,IT管理员用户)提供管理这些证书的能力,您可以在CMS的安全部分将“管理S/MIME证书”权限添加到他们的权限组中。
添加收件人加密证书
要将加密证书添加到CMS
- 以管理员或具有“管理S/MIME证书”权限的用户/组的身份登录CMS
- 从CMS左侧菜单选择“S/MIME证书”
- 默认视图显示上传的加密证书的网格视图。
- 点击“添加加密证书”
- 输入有效的“电子邮件地址”
- 将有效的
.crt
文件上传到“加密证书”字段 - 点击“创建”
添加发件人证书以进行数字签名
此模块支持电子邮件的数字签名,这为收件人提供了进一步的保证,表明邮件来自何处。
要签名电子邮件,您需要证书.pem和私钥.pem文件。要将这些文件上传到CMS
- 以管理员或具有“管理S/MIME证书”权限的用户/组的身份登录CMS
- 从CMS左侧菜单选择“S/MIME证书”
- 选择“签名证书”选项卡
- 点击“添加签名证书”
- 输入有效的“电子邮件地址”
- 将包含证书的有效
.pem
文件上传到“签名证书”字段 - 将包含私钥的有效
.pem
文件上传到“签名密钥”字段 - 输入.pem文件的密码(此密码不会显示并将以加密格式存储)
- 点击“创建”
维护者
- Andrew Dunn andrew.dunn@silverstripe.com
- Paul Jayme pjayme@silverstripe.com
错误跟踪器
错误在此存储库的问题部分跟踪。在提交问题之前,请仔细阅读现有问题以确保您的问题独特。
如果问题看起来像是新的错误
- 创建一个新问题
- 描述重现您问题的步骤以及预期的结果。单元测试、屏幕截图和屏幕录制可以在这里提供帮助。
- 尽可能详细地描述您的环境:SilverStripe版本、浏览器、PHP版本、操作系统、任何已安装的SilverStripe模块。
请直接向模块维护者报告安全问题。请不要在错误跟踪器中提交安全问题。
开发和贡献
如果您想为此模块做出贡献,请确保您发起一个拉取请求并与模块维护者进行讨论。