Javascript 如何将签名附加到文件?

Javascript 如何将签名附加到文件?,javascript,c#,signature,Javascript,C#,Signature,我知道如何对任何字节数组进行签名,但我仍然不知道如何将签名附加到目标文件?例如,我有一些JSON文件: { "firstName": "John", "lastName": "Smith", "email": "john.smith@gmail.com" } 这是正确的解决方案吗 { "firstName": "John", "lastName": "Smith", "email": "john.smith@gmail.com", "si

我知道如何对任何字节数组进行签名,但我仍然不知道如何将签名附加到目标文件?例如,我有一些JSON文件:

{
    "firstName": "John",
    "lastName": "Smith",
    "email": "john.smith@gmail.com"
}
这是正确的解决方案吗

{
    "firstName": "John",
    "lastName": "Smith",
    "email": "john.smith@gmail.com",
    "signature": "here-is-my-signature"
}
但存在许多文件类型(带模式的XML、dll等),这种方法并不总是适合


是否有一种常见的文件签名方法?签名是如何存储在其中的?可能有一个单独的文件属性,如“创建时”、“文件大小”。。。“签名”?

我认为,如果修改了JSON,那么验证JSON文件的签名可能会很麻烦。除此之外,我不知道。您是否有特定的签名方案?如果有人强制检查签名,签名就有意义。对于人们来说,这是他们同意或不同意的“许可”,对于机器来说,这是数字签名。简单的方法就是自己计算,然后放入某种存储器中。通常是签名存储,其中文件的md5/sha256是密钥,值是签名。如果未提供存储或存储无效,则拒绝任何执行。@John在这种情况下,每次用
null
替换
signature
值的JSON文件副本都可以进行验证@John Yes,我想用​​来自签名字段的验证值。但这只是我对解决一个特殊案件的猜测。对文件进行签名有什么通用方法吗?我对JSON的担心是,如果属性的序列化顺序发生变化,如果JSON有时不使用缩进保存,而在其他时候使用缩进保存(或者缩进以某种方式发生变化),那么基本相同对象的签名将无效。如果它必须是那个精确的物体,呈现得和那个一模一样,那么我想没关系。