2010-08-16 62 views
0

X509證書有一組keyUsage位。其中兩個是 digitalSignature
nonRepudiation(最新版本的X.509已將此位更名爲contentCommitment)。X509證書是否應該設置非保留位來檢查PKCS7簽名?

我讀了X509 RFC(http://tools.ietf.org/html/rfc5280),它討論了這些位的一般用法。

而且我讀了PKCS7 RFC(http://tools.ietf.org/html/rfc2315),它討論了PKCS7結構等,並沒有指定哪些位需要設置。

是否有任何RFC或其他規範確定是否應該設置它們中的一個或兩個?

問候, 維克多

回答

3

甲PKCS#7文件通常包含證書鏈。也就是說,根CA證書,所有適用的中間CA證書以及端點證書(SSL,電子郵件等)。PKCS#7通常用於將這些證書捆綁到一個文件中。這很有用,因爲您可以將整個鏈一次導入到密鑰庫或其他依賴應用程序中。

至於密鑰使用位,這些位是根據特定證書的需要和目的設置的。例如,根CA證書通常會同時具有數字簽名和不可否認集。對於SSL證書,您可能會發現密鑰加密和數字簽名。密鑰使用和PKCS#7文件之間確實沒有關聯,除非您正在討論PKCS#7文件中包含的CA證書。

+0

明白了。我認爲這證實了我的想法。 關於PKCS#7幾乎是許多地方SMIME的同義詞的問題。 SMIME要求不可否認性,這就是爲什麼我感到困惑。 – 2010-08-19 13:49:41

+0

PKCS#7確實是指「數字簽名的消息」。所以,這實際上取決於您所談論的PKCS#7數據類型。如果您在談論S/MIME,那麼您確實需要設置「數字簽名」和「不可否認」。如果你正在討論一個封裝了一組證書的文件,那麼它就不那麼重要。 – Shadowman 2010-08-19 13:55:30

+0

有幾種標準說幾乎相同的東西 - PKCS#7,S/MIME,PKIX,CMS - 沒有完全兼容。我的目標是遵循CMS(RFC 5652),除非它證明與某些我不得不使用的傳統軟件不兼容。不可抵賴性:所有使用非對稱密碼術的數字簽名都具有不可否認性(只要您保證私鑰安全,其他方都不會僞造您的簽名),但某些標準要求明確聲明不可否認爲證書的證書使用。不可抵賴意味着簽名,你不需要兩者。 – dajames 2010-11-16 14:24:10

1

順便說一下,這一點違反了設計中關注點的分離。不可抵賴性是商業層面談判的法律問題。在證書/簽名級別使用該位是無關緊要的。見例如http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/ShockingTruth.html

+0

爲什麼選擇投票? – 2012-11-29 05:38:00

+0

我已經聽過幾次了。似乎共識是,在法律上,無抵賴位的存在與否是沒有區別的。 – 2015-01-15 19:02:08