天道酬勤,学无止境

如何保存收到邮件的数字签名(How to save digital signature of received mail)

问题

我正在尝试保存当前打开的邮件项目的数字签名。

现在我意识到 Outlook 阻止访问以编程方式加密/签署新电子邮件。 在这里,我专注于已收到的消息。

到目前为止,我只能使用 MessageClass 属性来检测签名的电子邮件。

Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application

    Set objApp = CreateObject("Outlook.Application")
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
        Case Else
            ' anything else will result in an error, which is
            ' why we have the error handler above
    End Select

    Set objApp = Nothing
End Function

Sub DoExport()
    Set CurrentItem = GetCurrentItem()
    If CurrentItem.MessageClass = "IPM.Note.SMIME.MultipartSigned" Then
        MsgBox CurrentItem.MessageClass 
    End If
End Sub
回答1

即使在加密和签名的邮件中,Messageclass 似乎也总是“IPM.Note”。
我使用此代码来阅读谁签署了邮件。
Set PropertyAccessor = mailitem.PropertyAccessor
If PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/id/{00020328-0000-0000-C000-000000000046}/9104001f") <> "" Then
END
End If

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 公文加密交换与加密送达解决方案
    一、目前公文交换系统和公文送达系统普遍存在的泄密隐患 公文的上传下达是我国各级政府和大型企事业单位中长期依赖的一种工作手段和重要工作内容,传统的公文交换方式主要采用邮递和直接送达方式传递红头文件,但具有速度慢和成本高等不足,所以,现在已经有许多政府机关和大型企事业单位采用了各种各样的电子公文交换系统和送达系统,实现公文传递的电子化和即时化,从而大大提高办公效率。 但目前的电子公文交换系统普遍存在机密信息泄密的安全隐患,主要普遍存在以下几个方面的问题: 传输安全问题: 许多公文交换系统并没有启用https传输加密,用户无论是使用浏览器访问交换系统还是使用专用客户端软件同文件交换服务器通信都是明文传输,各种机密文件在不可信的互联网通道上全部泄密!即使有些系统使用政府内网,由于没有使用https加密连接,一样有可能在交换传输过程中被非法接入包侦听软件而被非法截获而泄密。 文件安全问题: 待交换的文件并没有在文件发出时就加密,在上述http明文传输的网络非常容易被非法窃取和被非法篡改。更可怕的是有些是通过互联网传递和存放到了云端(政务云或者公有云)。如何保护这些机密信息,是一个用户无法掌控的难题。 自建系统投资和维护问题: 政府机构或大企业投资建设自己的公文交换和送达系统,同其他管理信息系统建设一样,存在投资大、建设周期长、用户培训难、运行费用高和升级维护难等一系列问题
  • 公文加密交换与加密送达解决方案
    一、目前公文交换系统和公文送达系统普遍存在的泄密隐患 公文的上传下达是我国各级政府和大型企事业单位中长期依赖的一种工作手段和重要工作内容,传统的公文交换方式主要采用邮递和直接送达方式传递红头文件,但具有速度慢和成本高等不足,所以,现在已经有许多政府机关和大型企事业单位采用了各种各样的电子公文交换系统和送达系统,实现公文传递的电子化和即时化,从而大大提高办公效率。 但目前的电子公文交换系统普遍存在机密信息泄密的安全隐患,主要普遍存在以下几个方面的问题: 传输安全问题: 许多公文交换系统并没有启用https传输加密,用户无论是使用浏览器访问交换系统还是使用专用客户端软件同文件交换服务器通信都是明文传输,各种机密文件在不可信的互联网通道上全部泄密!即使有些系统使用政府内网,由于没有使用https加密连接,一样有可能在交换传输过程中被非法接入包侦听软件而被非法截获而泄密。文件安全问题: 待交换的文件并没有在文件发出时就加密,在上述http明文传输的网络非常容易被非法窃取和被非法篡改。更可怕的是有些是通过互联网传递和存放到了云端(政务云或者公有云)。如何保护这些机密信息,是一个用户无法掌控的难题自建系统投资和维护问题: 政府机构或大企业投资建设自己的公文交换和送达系统,同其他管理信息系统建设一样,存在投资大、建设周期长、用户培训难、运行费用高和升级维护难等一系列问题
  • 大数据应用与隐私保护,二者不可得兼?
    我国已经开始实施国家大数据战略,主要包括大力推动大数据技术产业创新发展、构建以数据为关键要素的数字经济、运用大数据提升国家治理现代化水平、运用大数据促进保障和改善民生、切实保障国家数据安全等。在这个大战略的指引下,我国的大数据应用发展取得了一定成绩,但是由此带来的大数据隐私保护问题也不少,并且已经成为一个能否健康稳定发展的一个重要关键指标,大数据应用和隐私保护必须二者得兼才能健康发展。笔者此文意在大数据采集、使用和存储等方面提出一些个人见解,仅供参考。 先说说数据的生命周期吧,所有数据都会经过这五个时期,从数据产生开始到数据有身份,再到数据存储,再就是数据使用,最后可能是数据归档不再使用或者是数据销毁不复存在。而要保障数据的全生命周期安全,当然离不开PKI技术。PKI技术(Public Key Infrastructure,公钥基础设施)是保障大数据安全的唯一可靠技术,彻底解决了(1)数据的机密性(Privacy); (2)数据生产和使用方的身份真实性(Authentication); (3)数据的完整性(Integrity); (4)数据生成行为和使用行为的不可否认性(Non-repudiation)等四大令人头痛的数据安全问题(PAIN)。 PKI技术的重要应用就是各种数字证书的数字签名和加密应用,如下图所示,看看PKI技术是如何保护大数据安全的。 数据产生:
  • 如何使用PHP将数字签名(RSA,证书等)添加到任何文件中?(How to add digital signature (RSA, Certificate, etc) to any of file, using PHP?)
    问题 我需要知道是否可以使用RSA,证书和诸如此类的东西对任何类型的文件进行数字签名,或者是否只能对某些类型的文件进行签名。 所有这些,使用PHP。 例如:可以对纯文本文件进行数字签名吗?图像(png,jpeg,bmp)如何? 我不需要“附加”具有图形签名的图像。 感谢您的帮助。 回答1 使用phpseclib,这是一个纯PHP RSA实现(在此处更新): <?php include('Crypt/RSA.php'); $rsa = new Crypt_RSA(); extract($rsa->createKey()); $plaintext = 'terrafrost'; $rsa->loadKey($privatekey); $signature = $rsa->sign($plaintext); $rsa->loadKey($publickey); echo $rsa->verify($plaintext, $signature) ? 'verified' : 'unverified'; ?> CLI openssl的模拟如下: openssl dgst -sha1 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out signature.txt -sign privatekey.txt plaintext
  • 如何将Outlook 2007收件箱中定义的子文件夹中收到的电子邮件中附加的Excel文件保存到Windows上的文件夹中?(how to save excel file attached in an email received in a defined sub folder in the inbox of outlook 2007 to a folder on the windows?)
    问题 我需要将Outlook邮件内收到的excel附件保存在收件箱中的特定子文件夹(每日最终)中,并且知道该子文件夹中的所有电子邮件都将包括该excel附件。 我在下面用excel VBA制作了一个示例,但是它不能正常工作,敬请谅解 Sub SaveAttachmentsToFolder() ' This Outlook macro checks a named subfolder in the Outlook Inbox ' (here the "daily final" folder) for messages with attached ' files of a specific type (here file with an "xls" extension) ' and saves them to disk. Saved files are timestamped. The user ' can choose to view the saved files in Windows Explorer. ' NOTE: make sure the specified subfolder and save folder exist ' before running the macro. On Error GoTo SaveAttachmentsToFolder_err '
  • 给Hmailserver添加DKIM签名
    给hmailserver添加DKIM签名 转自:http://dagai.net/archives/870 在hmailserver的反垃圾邮件功能中有提到给垃圾评分标准,其中比较主要的四个,SPF、HELO、DNS MX、DKIM签名,看hmailserver默认的分值,无疑DKIM签名是最高的,如果校验DKIM失败,直接会当作垃圾邮件的。无疑,如果对方的邮件服务器启用了这几个校验,如果你发出去的邮件未通过,就会被当作垃圾邮件了,我试了一下,都没有设置,发往gmail的邮件直接发送失败,发往腾讯企业邮箱的邮件还收到了。 那如何让这些校验通过呢?首先你最好得有一个固定IP,这样才好设置SPF,需要给你的域名添加一个txt记录,里面包含你邮件服务器的IP。可以用nslookup来查询一下qq.com的txt记录,那就是SPF了,关于SPF的介绍,可以查看http://baike.baidu.com/view/1372988.htm来了解一下。HELO这是直接在hmailserver的Settings-Protocols-SMTP-Delivery of e-mail中的local host name中填写。MX记录解析,这个在域名中添加mx记录即可,最后就到了DKIM签名。 DKIM的全称是Domain Key Identified Mail,域名密钥识别邮件
  • 电子邮件加密和数字签名服务解决方案
    密信云邮件加密和数字签名服务是在密信全自动邮件加密和数字签名服务的基础上为所有电子邮件用户、邮件客户端厂商、邮件安全网关厂商、邮件安全服务厂商、企业邮局服务提供商和各种网上业务系统等提供的电子邮件全自动加密和数字签名云服务,让电子邮件用户可以免费享受最基本的电子邮件加密和数字签名服务,让邮件安全相关厂商和各个网上业务系统能够方便地调用我们的云邮件服务API实现邮件全自动加密和全自动解密等功能,共同保护电子邮件全程安全。此服务支持国密SM2算法加密和RSA算法加密,满足所有电子邮件用户的国密合规需求和国际标准合规要求。密信云邮件加密和数字签名服务有免费的邮件加密服务,也有按加解密次数收费的收费服务,费用远远低于购置相关系统。目前主要提供如下四种服务:1.免费电子邮件加密服务所有电子邮件用户都可以免费 下载 密信邮件客户端软件,设置好自己的邮箱账号后就会免费获得电子邮件加密证书和签名证书(SM2/RSA双证书),就可以全自动免费加密每一封电子邮件,保障电子邮件的全程安全。目前,要实现S/MIME邮件加密,您需要: 2.免费加密证书公钥获取服务任何电子邮件安全厂商、电子邮件客户端软件厂商、各种网上业务系统都可以免费调用邮件API获取所有电子邮箱的加密证书公钥,这样各种业务系统就可以在获得用户的加密证书公钥后编程发送加密邮件给用户了,确保业务系统发送的机密信息的安全
  • 如何获得在rails应用程序中使用sendgrid发送的电子邮件的回复以保存在数据库中(how to get response of email sent using sendgrid in rails app to save in database)
    问题 我已经使用 sendgrid 和 actionmailer 通过 rails 应用程序发送了电子邮件,我也收到了邮件。 但是我想要在我的 rails 应用程序中发送(打开、传递、退回...)的电子邮件的状态,以便我可以将特定电子邮件的响应保存在我的数据库中。 我已经按照:https://github.com/stephenb/sendgrid 发送电子邮件,它对我有用。 回答1 要获取已发送电子邮件的状态,请使用此处所述的 sendgrid webhooks 设置完成后,sendgrid 将针对以下事件通知您的 url: 已处理:已收到消息并准备发送。 已删除:收件人存在于您的一个或多个禁止列表中:退回邮件、垃圾邮件报告、取消订阅。 已传递:消息已成功传递到接收服务器。 延迟:收件人的电子邮件服务器暂时拒绝了邮件。 退回:接收服务器无法或不会接受消息。 打开:收件人已打开 HTML 邮件。 单击:收件人单击了消息中的链接。 垃圾邮件报告:收件人将邮件标记为垃圾邮件。 取消订阅:收件人单击消息的订阅管理链接。 回答2 您应该为您的应用设置事件网络钩子。 完成后,您将获得以下格式的 POST 到您的应用程序: { "email":"foo@bar.com", "timestamp":1322000095, "unique_arg":"my unique arg",
  • 电子邮件加密和数字签名服务
    密信云邮件加密和数字签名服务是在密信全自动邮件加密和数字签名服务的基础上为所有电子邮件用户、邮件客户端厂商、邮件安全网关厂商、邮件安全服务厂商、企业邮局服务提供商和各种网上业务系统等提供的电子邮件全自动加密和数字签名云服务,让电子邮件用户可以免费享受最基本的电子邮件加密和数字签名服务,让邮件安全相关厂商和各个网上业务系统能够方便地调用我们的云邮件服务API实现邮件全自动加密和全自动解密等功能,共同保护电子邮件全程安全。此服务支持国密SM2算法加密和RSA算法加密,满足所有电子邮件用户的国密合规需求和国际标准合规要求。密信云邮件加密和数字签名服务有免费的邮件加密服务,也有按加解密次数收费的收费服务,费用远远低于购置相关系统。目前主要提供如下四种服务:1.免费电子邮件加密服务所有电子邮件用户都可以免费 下载 密信邮件客户端软件,设置好自己的邮箱账号后就会免费获得电子邮件加密证书和签名证书(SM2/RSA双证书),就可以全自动免费加密每一封电子邮件,保障电子邮件的全程安全。目前,要实现S/MIME邮件加密,您需要:第一步 下载安装邮件客户端软件第二步 设置邮箱账户第三步 向CA购买(¥)邮件证书第四步 等待CA签发证书第五步 取回证书和配置使用证书第六步 收件人也必须有邮件证书第七步 相互发送签名邮件交换公钥第八步 发送加密邮件现在,您可以选用密信免费版服务,您只需要:第一步
  • 如何在Outlook中添加默认签名(How to add default signature in Outlook)
    问题 我在Access中编写了VBA脚本,该脚本创建并自动填充了几十封电子邮件。 到目前为止,编码一直很顺利,但是我是Outlook的新手。 创建mailitem对象后,如何将默认签名添加到电子邮件中? 这将是在创建新电子邮件时自动添加的默认签名。 理想情况下,我只想使用ObjMail.GetDefaultSignature ,但找不到类似的东西。 目前,我正在使用下面的功能(可在Internet上的其他地方找到),并引用htm文件的确切路径和文件名。 但这将由几个人使用,他们的默认htm签名文件可能使用不同的名称。 因此这可行,但并不理想: Function GetBoiler(ByVal sFile As String) As String 'Dick Kusleika Dim fso As Object Dim ts As Object Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) GetBoiler = ts.readall ts.Close End Function (用getboiler(SigString = "C:\Users\" & Environ("username") & "\AppData
  • 将数字签名插入到现有的pdf文件中(Insert digital signature into existing pdf file)
    问题 我需要使用Rails应用程序服务器将数字签名插入到现有的pdf文件中。 (基本上,客户端会上载pdf文件,而服务器会使用本地证书对它们进行签名) 我一直在使用JSignpdf将数字签名插入到pdf文件中,并开始探测宝石红宝石... 我在rubypdf网站http://soft.rubypdf.com/software/pdf-digital-signe上找到了另一个可移植文件来完成这项工作,但是找不到任何gem甚至示例代码来在ruby中做到这一点。 我也看过使用OpenSSL进行数字签名验证,但是不明白如何使用本地证书文件对已经存在的文档进行实际签名。 我还在http://code.google.com/p/origami-pdf/上达到了顶峰,但这对于所谓的“简单”(至少在概念上)任务似乎有点苛刻。 有什么想法/建议吗? 谢谢 回答1 经过一些研究,反复阅读OpenSSL文档并探索Origami解决方案,我在下面构建了代码,并设法将本地生成的签名/证书插入到pdf文档中。 现在,我只需要弄清楚如何将其与外部生成的证书一起使用(请查看下面的版本2(我在其中解决了该问题))。 我打开了一个新问题,您可以在其中找到有关OpenSSL和DER编码证书遇到的困难的一些详细信息。 为了开发版本2,我还花了一些时间思考如何添加注释-以便使签名在Adobe Reader中可见
  • 电子邮件签名中的base64编码图像(base64 encoded images in email signatures)
    问题 我必须在电子邮件签名中包含一些图像(公司徽标等)。 使用问题电子邮件系统生成的嵌入图像(通常以附件形式发送)和链接图像(需要获得许可才能在收到的电子邮件中显示它们)时,我遇到了各种各样的问题。 我刚刚看过一些来自交易所的电子邮件,这些电子邮件具有徽标的base64图像表示形式,并使用标签进行显示。 我正在寻找有关如何在可能的情况下通过电子邮件签名执行此操作的信息(如何为徽标生成base64版本的徽标,以及如何使用该代码才能使其正常工作)? 我已经尝试过一些简单的事情,例如 <body> <span> <img src=.... > </span> </body> 但我得到的只是替代文字,因此我在这里显然做错了。 回答1 重要的 我的以下回答显示了如何使用数据URI嵌入图像。 这对于Web很有用,但对于大多数电子邮件客户端而言,将无法可靠地工作。 出于电子邮件目的,请务必阅读Shadow2531的答案。 Base-64数据在img标签中是合法的,我相信您的问题是如何正确插入这样的图像标签。 您可以使用在线工具或几行代码来生成基本的64位字符串。 从内联数据获取图像的语法是: <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8
  • 不要保存包含在附件中的嵌入图像(如签名图像)(Don't save embed image that contain into attachements (like signature image))
    问题 我在 C# 中处理 VSTO。 当我点击按钮时,我将附件保存在一个文件夹中。 我的问题是:当我有一封带有签名的图片的丰富电子邮件时,我的附件中有一个元素。 但我不想保存那个图像。 Outlook(应用程序)在附件区域隐藏此附件! 那为什么不是我:-( 我的代码非常简单: MailItem MailItemSelected = this.OutlookItem; foreach (Attachment a in MailItemSelected.Attachments) { a.SaveAsFile(path + a.FileName); } 但我没有找到不保存签名图像的测试。 回答1 我们只需要在 Outlook 加载项中显示“邮件附件”(而不是用于呈现的嵌入附件),这就是有效的方法。 if (mailItem.Attachments.Count > 0) { // get attachments foreach (Attachment attachment in mailItem.Attachments) { var flags = attachment.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x37140003"); //To ignore embedded
  • 通过Gmail API多部分/已签名(RFC 3156)发送电子邮件(Sending email multipart/signed (RFC 3156) via Gmail APIs)
    问题 尝试构建符合RFC3156 [0]的邮件,并通过Gmail API发送邮件(我正在使用python客户端实现)。 我得到的是:在我的Gmail框中,邮件已正确发送(我看到的是我之前建立的邮件)· 我的接收者得到的是:与我发送的消息具有相同有效负载的“多部分/混合”消息。 似乎在某些时候,Gmail更改了我的Content-Type ...这是真的吗? 解决方法是,我使用的是SMTP连接(它的行为与我预期的一样,可以正确发送邮件),但是在将来,我希望避免使用纯Gmail API应用程序的此步骤。 您能否确认这个问题? [0]-这是一个测试示例: 发送消息: message_as_str = '''Content-Type: multipart/signed; protocol="application/pgp-signature";\n micalg="pgp-sha512"; boundary="===============0594182808971957567=="\nMIME-Version: 1.0\nDate: Wed, 12 Nov 2014 12:18:02 +0100\nSubject: A test email\nFrom: Leo Iannacone <l3on@ubuntu.com>\nTo: Andrea Colangelo <warp10
  • openssl学习笔记(公钥,私钥,数字签名,CA,根证书等)
    1. 信息内容加密 接收者的公钥: 用于加密 接收者的私钥: 用于解密 -------- 验证接收者(保证数据私密性) 2. 数字签名 发送者的私钥: 用于加密 发送者的公钥: 用于解密 -------- 验证发送者(保证不可抵赖性、数据完整性) 3. 证书 用于确认公钥所对应的私钥持有者的身份 证书与公共密钥相关联 证书内容包括: 证书的名称(含国家,省,城市,组织等信息), 公匙; 认证机构的名称, 签名; 有效时间; 证书签发的流水号等信息. 证书的概念:首先要有一个根证书,然后用根证书来签发用户证书。 对于申请证书的用户:在生成证书之前,一般会有一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的根证书来签发证书。 特别的: (1)自签名证书(一般用于顶级证书、根证书): 证书的名称和认证机构的名称相同. (2)根证书:根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任 数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机构的公章)后形成的一个数字文件。数字证书包含证书中所标识的实体的公钥(就是说你的证书里有你的公钥),由于证书将公钥与特定的个人匹配,并且该证书的真实性由颁发机构保证
  • Microsoft Outlook 2013:验证VBA项目签名时出错(Microsoft Outlook 2013: Error verify VBA project signature)
    问题 计算机重置后,我想将我的 VBA 宏用于 Outlook 2013。 在Outlook中,我收到错误消息: “尝试验证 VBA 项目的签名时发生错误。宏将被禁用。” 因此,VBA 编辑器指出: “此项目中的宏已禁用。[..]” 我试过了: 开发人员->宏安全性->(*)启用所有宏(不仅数字签名) 使用定义证书C:\Program Files (x86)\Microsoft Office\Office15\selfcert.exe 什么都没做。 任何想法? 回答1 刚刚遇到这个问题,这就是我最终解决它的方法(其他建议都不适合我): 创建一个自我证书——我称我的为“自我证书”(在 Office 2013 中从这里生成 - C:\Program Files (x86)\Microsoft Office\Office15\SELFCERT.EXE) 从开始菜单运行 certmgr.crt 并将“Self Cert”从“Personal\Certificates”复制到“Trusted Root Certification Authorities\Certificates”文件夹以管理员身份打开 Outlook.exe 打开 VBA(即开发人员 -> Visual Basic) 打开包含 VBA 代码的模块选择工具 -> 数字签名 -> 选择... 选择 OK 选择“Self Cert
  • 混合加密与数字签名
    混合加密(Hybrid Cryptosystem) 对称加密(Symmetric Cryptography) 对称加密:加密解密使用的是同一个密钥 产生的问题:一定会遇到密钥配送的问题,密钥会被劫持 非对称加密 非对称加密可以解决密钥的配送问题 非对称加密:密钥分为加密密钥、解密密钥2种,他们并不是同一个密钥 加密密钥:一般是公开的,因此该密钥被成为公钥(Public Key)解密密钥:由消息接收者自己保管,不能公开,因此也成为私钥(Private Key) 共钥、私钥的特点: 一对公钥和私钥统成为密钥对(Key pair)由公钥加密的密文,必须由该公钥对应的私钥才能解密由私钥加密的密文,必须使用与私钥对应的公钥才能解密 非对称加密解决密钥配送的过程 由消息接受者,生成一对公钥、私钥将公钥发给发送者消息的发送者使用公钥加密消息 新的问题:非对称加密解密的速度比对称加密要慢 混合密码系统:Hybrid Cryptosystem 混合密码系统:是将对称加密和非对称加密的优势结合的方法 解决了非对称加密速度慢的问题并通过非对称加密解决了对称加密的密钥配送问题 混合加密 - 加密、解密的流程 混合加密 - 加密流程 会话密钥(session key) 为本次通信随机生成的临时密钥作为对称加密的密钥,用于加密消息,提高速度 混合加密的流程 加密步骤(发送消息) 首先
  • 在python中生成重置令牌的最佳方法是什么?(what is the best way to generate a reset token in python?)
    问题 我正在尝试为密码重置进行验证过程,我使用的是两个值:纪元时间,我想使用用户的旧密码 (pbkdf2) 作为密钥, 因为我不想得到非 ASCII 字符,所以我使用了 SimpleEncode 库,因为它很快,因为它只是一个使用密钥的 BASE64,但问题是密码太长(196 个字符)所以我得到了一个长密钥! 我所做的是拆分结果code = simpleencode.encode(key,asci)[::30] ,但这不会是唯一的! 为了了解它是如何工作的,我尝试了 Facebook 重置过程,但给出的是一个数字! 那么这个过程是如何工作的,他们不是使用密钥来使某人难以伪造链接来重置某人的密码吗? 更新:算法将如何工作: 1- 使用 epoch time.time()获取时间 2-生成纪元时间的Base64(用于URL)和纪元时间值+一个密钥,这个密钥是PBKDF2(密码)。 3- 生成网址 www.example.com/reset/user/Base64(time.time()) 并发送此网址 + simpleencode.encode(key,asci)[::30] 4-当用户点击URL时,他把生成的代码,这个生成的代码,如果与URL匹配,则让他修改密码,否则,它是一个忘记URL! 回答1 不确定这是最好的方法,但我可能只是生成一个 UUID4,可以在 URL
  • 使用php验证数字签名(Verify digital signature using php)
    问题 我有一封经过数字签名的电子邮件。 电子邮件 : -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The below email has been digitally signed for test purposes. We will now go on and save this signed email in our dms system. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTnwd9AAoJEEWjhuB1kNr9dQcH/2YeZlHEfK/KOPg8XhpOY+4l 3camfFVya8JIzLHsOzhhdSqIItDr7VlGDrjrMgPPiD1abyy9zhcqZ18Kh8sUuFJV /TA434rrnMJC0xmSzXl4uo+UagyNyCjzwR4TFCGP4Ob6SzPl/jxfrcfO5yXEdF1I X6wgQUmnb3ZLczdPVXsKpwpVIGqX7diwe1CAZKxCmjZo9rr/MmDLLl7AjYq/WQDT
  • SSL证书必知必会:数字证书及CA基础知识
    SSL证书必知必会:数字证书及CA基础知识数字证书 数字证书是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字***,而是身份认证机构盖在数字***上的一个章或印(或者说加在数字***上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书的一个重要的特征就是只在特定的时间段内有效。 数字证书里存有很多数字和英文,当使用数字证书进行身份认证时,它将随机生成128位的身份码,每份数字证书都能生成相应但每次都不可能相同的数码,从而保证数据传输的保密性,即相当于生成一个复杂的密码。 数字证书绑定了公钥及其持有者的真实身份,它类似于现实生活中的居民***,所不同的是数字证书不再是纸质的证照,而是一段含有证书持有者身份信息并经过认证中心审核签发的电子数据,可以更加方便灵活地运用在电子商务和电子政务中。 数字证书可用于:发送安全电子邮件、访问安全站点、网上证券交易、网上招标采购、网上办公、网上保险、网上税务、网上签约和网上银行等安全电子事务处理和安全电子交易活动。 数字证书可以通俗的理解为古代调用军队的虎符或令牌,将军拿的部分是公钥证¹