You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

签名字段在签名后仍未签名。

这个问题可能与签名时使用的签名类型有关。在使用数字证书签署PDF时,签名类型通常为“Adobe.PPKLite”或“Adobe.PPKMS”。其中,PPKLite只会在签名者本地计算机上创建签名,而不进行远程服务器验证;PPKMS则由远程签名服务器创建签名,并在PDF中插入完整签名。如果签名字段仍未签名,则可能需要更改签名类型以解决该问题。

以下是一个示例代码,可以更改签名类型为Adobe.PPKMS:

using iText.Form.Xfdf;
using iText.Kernel.Pdf;
using iText.Signatures;

PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"), new PdfWriter("output.pdf"));
pdfDoc.SetDefaultDocumentEncryption();
PdfSignatureAppearance appearance = pdfDoc.GetSignatureAppearance();
 appearance.SetLocation("Shanghai, CN");
 appearance.SetReason("Protect document integrity");
 IExternalSignature pks = new PrivateKeySignature(pk, DigestAlgorithms.SHA256);
MakeSignature.SignDetached(appearance, pks, chain,new[] {certChainStore["1"]}, null, null, 0, CryptoStandard.CMS);

// change the signature type to Adobe.PPKMS
SignatureUtil signUtil = new SignatureUtil(pdfDoc);
var signatureName = signUtil.GetSignatureNames().First();
var signatureDictionary = signUtil.GetSignatureDictionary(signatureName);
var subFilter = signatureDictionary.GetAsString(PdfName.SubFilter);
if (subFilter?.GetValue().Equals(PdfName.Adbe_pkcs7_detached) == true)
{
    signatureDictionary.Put(PdfName.SubFilter, PdfName.Adbe_pkcs7_sha1);
}

pdfDoc.Close();
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

学习 SSL/TLS ,这一篇就够了

证书签名请求 || OCSP | Online Certificate Status Protocol | 在线证书状态协议 || CSP | Cryptographic Service Provider | 加密服务提供... 如何在日常浏览中区分 SSL 证书类别根据证书类别的不同定义,我们可以通过证书字段比如组织(Organization)、公用名/域名(Common Name)等信息来对证书类别进行区分,但若我们只是普通用户,日常访问网站时能有什么...

Kubernetes 安全权限管理深度剖析|社区征文

Kubernetes 自身并没有用户管理能力,无法像操作Pod一样,通过API的方式创建/删除一个用户实例,也无法在etcd中找到用户对应的存储对象。在Kubernetes 的访问控制流程中,用户模型是通过请求方的访问控制凭证产生的。... Kubernetes仍然认为能够提供由集群的证书机构签名的合法证书的用户是通过身份认证的用户。基于这样的配置,Kubernetes使用证书中的‘subject’的通用名称字段来确定用户名。接下来,基于角色访问控制(RBAC)子系统会确...

mq元数据中的Topic和Group的名称导出到excel

签名计算的过程包含在该函数中。def request(method, query, header, ak, sk, action, body): # 第三步:创建身份证明。其中的 Service 和 Region 字段是固定的。ak 和 sk 分别代表 # AccessKeyID 和 SecretAccessKey。同时需要初始化签名结构体。一些签名计算时需要的属性也在这里处理。 # 初始化身份证明结构体 credential = { "access_key_id": ak, "secret_access_key": sk, "servi...

集简云8月更新合集:新增34款集成应用,更新18款应用,新增近300个可用动作

当webhook接收到字段值数据时,通过数据处理中将某些字段值转换为一组数组,然后通过飞书云文档在指定数据表引用这组数组新增数据表记录 13**订货宝**... 上上签是业内领先的在线电子合同签署,电子签名,电子签章,电子印章的云服务平台,为企业提供合同全生命周期智能管理服务,帮助企业实现降本增效,全领域电子签约解决方案,随时随地完成合同签署。 官网:htt...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

签名字段在签名后仍未签名。 -优选内容

签名方法
经过加密后同 API 请求一起发送到服务器中,服务器将以同样的机制对收到的请求进行签名计算,并将其与请求者传来的签名进行比对,若签名未通过验证,请求将被拒绝。 开发者需按流程完成以下操作: 获取访问密钥(Access Key)访问密钥(Access Key)是请求火山引擎OpenAPI的安全凭证,参考 Access Key 管理获取账户的 Access Key ID 和 Secret Access Key。 构建规范请求字符串(CanonicalRequest)在签名之前,首先需要将请求规范化,目的是让...
签名方法
经过加密后同 API 请求一起发送到服务器中,服务器将以同样的机制对收到的请求进行签名计算,并将其与请求者传来的签名进行比对,若签名未通过验证,请求将被拒绝。 开发者需按流程完成以下操作: 获取访问密钥(Access Key)访问密钥(Access Key)是请求火山引擎OpenAPI的安全凭证,参考 Access Key 管理获取账户的 Access Key ID 和 Secret Access Key。 构建规范请求字符串(CanonicalRequest)在签名之前,首先需要将请求规范化,目的是让...
签名机制
创建完成后单击 查看AccessKey详情,查看新的访问密钥信息。 创建一个正规化请求说明 Hash 代指 SHA256 算法。 HexEncode 代指转 16 进制编码。 CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload))在签名之前,要将请求正规化,使得签名计算过程无异议,其主要过程及伪代码如下: 字段 说明 H...
签名机制
创建完成后单击 查看AccessKey详情,查看新的访问密钥信息。 创建一个正规化请求说明 Hash 代指 SHA256 算法。 HexEncode 代指转 16 进制编码。 CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload))在签名之前,要将请求正规化,使得签名计算过程无异议,其主要过程及伪代码如下: 字段 说明 H...

签名字段在签名后仍未签名。 -相关内容

签名方法

在签名之前,首先需要将请求规范化,目的是让签名计算过程无异议。 构建规范化请求字符串,具体过程及伪代码如下: CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload))说明 Hash 代指 SHA256 算法,HexEncode代指转 16 进制编码,HMAC指代HMAC_SHA256。 字段 解释 HTTPRequestMethod 指代...

签名机制

经过加密后同 API 请求一起发送到服务器中,服务器将以同样的机制对收到的请求进行签名计算,并将其与请求者传来的签名进行比对,若签名未通过验证,请求将被拒绝。开发者需按流程完成以下操作: 获取访问密钥(Access Key)访问密钥(Access Key)是请求火山引擎OpenAPI的安全凭证,参考 Access Key 管理获取账户的 Access Key ID 和 Secret Access Key。 构建规范请求字符串(CanonicalRequest)在签名之前,首先需要将请求规范化,目的是让签...

签名方法

为保证 OpenAPI 的安全调用,在调用 OpenAPI 时,火山引擎会对每个 OpenAPI 请求通过签名进行身份验证。 签名 SDKRTC 提供了多种语言的签名 SDK,你可以直接调用进行签名,也可以参考签名 SDK 实现自己的 OpenAPI。 开... charset=utf-8X-Content-Sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855X-Date:20201230T081805Z各字段具体解释参看公共请求参数。 签名过程如下: 步骤1:创建规范请求 规范请求如下 C...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

签名审核规范

内容规范类别 规范 长度要求 2~12个字符; 格式要求 支持中文、英文或数字,不能是纯数字,不能有其他特殊符号; 签名内容无需添加【】或 [ ],系统会为您自动添加; 内容要求 需使用能辨别所属公司或对应归属已上线... 签名归属方的企业名称 授权委托书模板: 【附件下载】: 授权委托书 .doc,大小为 24.00KB 资质规范所有证明文件必须为原件扫描件,图片中公章必须为红色。 执照未过期、未涂改。 相关证明资质支持jpg、png、gif、...

签名机制

经过加密后同 API 请求一起发送到服务器中,服务器将以同样的机制对收到的请求进行签名计算,并将其与请求者传来的签名进行比对,若签名未通过验证,请求将被拒绝。 获取访问密钥Access Key)访问密钥(Access Key)是请求火山引擎 OpenAPI 的安全凭证,参考 Access Key 管理获取账户的 Access Key ID 和 Secret Access Key。 构建规范请求字符串(CanonicalRequest)在签名之前,首先需要将请求规范化,目的是让签名计算过程无异议。 构建规...

签名方法

创建一个正规化请求在签名之前,首先要将请求正规化,目的是让签名计算过程无异议,其主要过程及伪代码如下: nginx CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload))Hash代指SHA256算法,HexEncode代指转16进制编码,Hmac指代Hmac_SHA256 涉及到的字段如下: 字段 解释 HTTPRequestMethod 指代...

基于浏览器上传的表单中包含签名

TOS 支持基于浏览器的 POST 上传对象请求,方便您将内容直接上传到 TOS。使用 POST 上传对象时,您需要在表单中增加签名信息。 签名步骤要构建表单中的签名,您需要执行如下操作: 该表单必须包含以下字段以提供签名和相关信息,以便 TOS 可以在收到请求时使用这些信息验证签名。 元素名称 描述 是否必选 policy Base64 编码的安全策略,声明了 POST 请求必须满足的条件。对于签名计算,此策略是您的签名字符串。 是 x-tos-algori...

签名机制

如果当前IAM用户的访问密钥数量未达到上限,则可以单击新建密钥。 单击查看AccessKey详情,可直接查看访问密钥信息。 步骤二:创建一个正规化请求JSON CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload))说明 Hash代指SHA256算法。 HexEncode代指转16进制编码。 在签名之前,首先要将请求正规...

签名工具

选择左侧导航栏工具服务 > 签名工具,进入签名工具页面。 根据页面提示完成参数配置。详细的参数说明如下表所示。 参数 说明 URL 鉴权类型 A 类型 签名 Key 必填项,签名 Key 支持 2 种方式。 自定义输入:密钥由 6-40 个字符组成,可以包含字母和数字。 自动获取:单击输入框右侧的自动获取按钮,在自动获取签名 Key 的弹框中选择回点播源站域名。如果没有可选域名,请前往域名配置。详情请见域名管理。 文件路径 uri 必填项...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询