我想簽署將在服務器上驗證的xml文檔。我不知道如何使用數字證書(如.cer和.pfx文件)簽署和加密xml文件。我用Google搜索了&發現的各種例子,但無法理解的標準方式即使用x509證書和加密的數字簽名
什麼是循序漸進的過程,以
一個catch下面是簽名和加密的XML文件,
我想簽署和加密在這樣一個 客戶端(.net C#代碼)的文件,它可以驗證和解密在服務器(Java代碼)
我想簽署將在服務器上驗證的xml文檔。我不知道如何使用數字證書(如.cer和.pfx文件)簽署和加密xml文件。我用Google搜索了&發現的各種例子,但無法理解的標準方式即使用x509證書和加密的數字簽名
什麼是循序漸進的過程,以
一個catch下面是簽名和加密的XML文件,
我想簽署和加密在這樣一個 客戶端(.net C#代碼)的文件,它可以驗證和解密在服務器(Java代碼)
如果你想在C#和Java中這樣做,你可能想看看BouncyCastle。這是一個用於處理加密的流行庫,它支持C#和Java。
你需要的是所謂的XMLDSig和XMLEnc(這些都是相對PKCS7/CMS其進行加密和簽名數據作爲不透明的斑點相應的XML的簽名和加密標準XML方式的名稱) 。
Java內置了XMLDSig API(read the article here),儘管XMLEnc似乎沒有本地方式。
.NET Framework 4.0還具有內置的XML簽名和加密機制,但它們並不那麼明顯。 See how-tos here。
我們公司提供了大量用於安全任務的庫,名爲SecureBlackbox,SecureBlackbox包含對XMLDSig,XMLEnc和XAdES的靈活且易於使用的支持。 .NET和Java版本都可用。閱讀details about XMLBlackbox SecureBlackbox包。
更新:如果您不關心格式,並且XML數據的唯一路由是從一個特定位置到另一個位置,那麼您可以使用PKCS#7/CMS而不是XMLDSig和XMLEnc。 如上所述,CMS將您的數據視爲不透明blob並將其封裝到二進制數據中。 BouncyCastle是其中一個選項,SecureBlackbox也可以使用。
感謝您的重播。你可以提供的例子或步驟來簽署和使用bouncycastle加密xml文件 – kevin159 2012-04-20 10:36:55
XMLDSig或XMLEnc從來沒有在原始問題中的要求。我只是說,你可以使用BouncyCastle加密/解密文件。 – 2012-04-20 11:07:24