2013-03-26 33 views
2

我想製作一個用於簽名消息的JavaScript庫。我期望格式是類似的...數字簽名的標準格式

--- BEGIN SIGNED MESSAGE --- 
This is a plain old message 
It goes on and on... 
--- BEGIN RSA OF SHA1 --- 
Base64Stringassfd86asdf870n8 
09as8d76fn098== 
--- END SIGNED MESSAGE --- 

但我不知道正確的格式。我可以複製PGP格式(我相信不難找到有關這方面的信息),但我更喜歡使用標準方法(如果有的話)。

這種簽名郵件是否有標準格式?

+0

鄧肯瓊斯對可用的標準格式說得很好,我建議你嘗試使用已經完成的任何事情 - 如果沒有對安全性和PKI的嚴肅認識,你很容易犯一個安全相關的錯誤。你肯定讀過關於爲什麼JavaScript加密是個壞主意的文章,不是嗎? – 2013-03-27 07:59:25

回答

3

Cryptographic Message Syntax(又名PKCS#7)是一種非常常用的簽名數據格式。它還支持有效載荷內容的加密和認證,所以它有點超級格式。缺點是執行的複雜性 - the specification可能令人厭倦拖延,你必須與ASN.1一起工作。

OpenPGP format可能更容易實現並且對人眼更易讀(無ASN.1可見)。這可能是簡單性最好的選擇。同樣,如果您願意,您可以選擇在以後添加加密。然而,規範可以同樣惱人的工作 - 我從來沒有遇到一個RFC是如此...以前不精確。

+0

OpenPGP並不比PKCS#7更簡單(除了*你經常看到base64編碼的數據而不是二進制)。 – 2013-03-27 07:58:16

+0

@ EugeneMayevski'EldoSCorp在執行了兩個標準的部分內容之後,我不同意。但是,這可能是由於我對不同的編程任務有自己的天賦。這當然是我的主觀意見。 – 2013-03-27 07:59:28

+0

那麼,我們在一個庫(SecureBlackbox)中完全實現了它們(以及更多)。實現一個部分更簡單,你可以省略某些複雜的事情。當然,PKI整體上比OpenPGP更廣(也更復雜),但如果我們將PKCS#7與OpenPGP加密/簽名進行比較,那麼它們具有相同的複雜性。 – 2013-03-27 13:03:20

-1

數字簽名是用於演示數字信息或文檔真實性的數學方案。有效的數字簽名使收件人有理由相信該郵件是由已知發件人創建的,因此他們不能拒絕發送郵件(驗證和不可否認),並且郵件在傳輸過程中未被更改(完整性)。數字簽名的消息可以是表示爲位串的任何東西:例如電子郵件,合同或通過其他加密協議發送的消息。更多信息..點擊Hare .. How do i get a digital signature

1

爲了完成,W3C XML Signature,從語法和編碼的角度來看它稍微容易些,但要求最終的數據是XML。