假设我们有这样的 HTML 结构:
<div id='test-div'>
<div class='random-class-1'>
<div class='useless-element-1'>
</div>
<div class='useless-element-2'>
</div>
<p>Just a paragraph, and useless</p>
</div>
<div class='random-class-2'>
<div class='useless-element-3'>
</div>
<div class='useless-element-4'>
</div>
<div class='useless-element-5'>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要选择第一个 DIV 中的所有子级“DIV 元素”(不是孙子级)(在本例中为 id='test-div'),不是从文档而是从元素 (div) 本身。
所以,我不想使用下面的“查询”,因为我已经选择了元素 DIV [object HTMLDivElement]:
// I don't want to use this query
var children = document.querySelectorAll("div > div");
Run Code Online (Sandbox Code Playgroud)
只是一个例子来实现这一点(https://jsfiddle.net/t4gxt65k/):
// I already have selected DIV element
var el = document.getElementById("test-div")
// OR var el = document.querySelectorAll("#test-div");
var children = …Run Code Online (Sandbox Code Playgroud) 使用 tcpdf 库,我可以向 pdf 添加签名,但时间戳(RFC3161)尚未在该库(applyTSA)中实现,我需要此功能。
根据 ISO 32000-1:2008:
作为无符号属性的时间戳信息 (PDF 1.6):时间戳令牌应符合 RFC3161,并应按照 RFC3161 附录 A 中的描述进行计算并嵌入到 PKCS#7 对象中。时间戳的具体处理及其处理留给特定的签名处理程序来定义。
来自 RFC3161 附录 A
以下对象标识符标识签名时间戳属性:
id-aa-timeStampToken 对象标识符 ::= { iso(1) 成员主体(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2) 14 }
Signature 时间戳属性值具有 ASN.1 类型 SignatureTimeStampToken:
SignatureTimeStampToken ::= TimeStampToken
TimeStampToken 中的 messageImprint 字段的值应为带有时间戳的签名数据的 SignerInfo 中的签名字段值的哈希值。
使用 openssl 生成时间戳非常容易,但我不清楚如何将其嵌入到 PKCS#7 对象中。我的问题是:
举个例子将不胜感激
我正在处理一些 PDF 文件,但没有找到对此处发布的问题的明确解释。在经过数字签名的 PDF 文件上,我们有以下临时签名:
<< /Type /Sig /Filter /Adobe.PPKLite /SubFilter /adbe.pkcs7.detached/ByteRange[O1 L1 O2 L2] /Contents<0000....0000>
Run Code Online (Sandbox Code Playgroud)
O1 = 偏移 1(零)
L1 = 长度1(签名前的内容长度)
O2 = 偏移量 2(L1 + 签名长度)
L2 = 长度2(签名后的内容长度)
我有这些问题:
1 - 要“散列”的内容应包含“<”和“>”(在签名占位符 0000....0000 的开头和结尾)?
2 - 签名长度是11742?这包括“<”和“>”吗?
3 - 在ByteRange上,第二个参数是从文件开头到“<”(签名占位符 0000....0000 之前)的长度还是包括它?与上一个问题相同,ByteRange上的最后一个参数是否包含“>”字符(在签名占位符 0000....0000 的末尾)?
如果有人可以将我重定向到有关此的技术手册,这将非常有帮助。
要签署文档,我们必须将用户签名(转换为 PNG 图像)放在文档上,然后对该 PDF 进行数字签名。根据 PDF 文档,只有第一个需要“DocMDP”选项。一切看起来都很好,直到我放置第二个签名(批准签名)。这使第一个签名无效,因为文档已更改,而不是签名字节数中的数据,而是由于增量更新(已添加图像)。
问题是:
如何添加多个数字签名(批准签名)而不会使前一个无效?
增量更新时如何处理镜像签名?
以下是增量更新期间的 PDF 结构示例。(只是一个例子来显示里面的对象。)
%PDF-1.7
1 0 obj
<</Type /Pages
/Kids [ 3 0 R]
/Count 1
/MediaBox [0 0 595.28 841.89]
>>
endobj
3 0 obj
<</Type /Page
/Parent 1 0 R
/MediaBox [0 0 595.28 841.89]
/Rotate 0
/Resources 2 0 R
/Group <</Type /Group /S /Transparency /CS /DeviceRGB>>
/Contents [4 0 R 5 0 R] >>
endobj
4 0 obj
<</Length 44>>
stream
BT /F1 24 …Run Code Online (Sandbox Code Playgroud) 我正在尝试/捕获服务器端的资金,但收到错误消息“指定的资源不存在”。
我已将配置为沙箱nad EUR货币的Paypal脚本放置:
<script src='https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR&commit=true&disable-funding=card,credit' ></script>
Run Code Online (Sandbox Code Playgroud)
然后,如下所述配置按钮
paypal.Buttons( {
createOrder : function( data, actions ) {
return actions.order.create( {
"intent" : "CAPTURE",
"purchase_units" : [ { amount : { "value" : cart-total-amount,
"currency_code" : "EUR",
} } ] } );
},
onApprove: function( data, actions ) {
/*
MY SERVER API
*/
_this.api( "my-server-api-url/cart/submit/",
{ "items" : _this.cart.items,
"invoice" : _this.cart.invoice,
"paymentmethod" : "paypal",
"orderid" : data.orderID,
"payerid" : data.payerID,
}, function( data ) {
alert( data.message ); …Run Code Online (Sandbox Code Playgroud)