none
CA Validity period RRS feed

  • 問題

  • 您好,

    冒昧請教,根據微軟文件:

    http://www.microsoft.com/china/technet/prodtechnol/windowsserver2003/technologies/security/ws03crtm.mspx

    其中Validity period的說明: 定義已頒發證書的有效期。所定義的有效期一定不能超過 CA 證書的有效期。

    請問這是否意味生產出來的子憑證到期日,無法超過母憑證本身的到期日?

    如果是的話,請問這是微軟CA server本身的限制,或者X.509的規範?

    如果是微軟的限制,那我該如何突破這個限制,讓生產的子憑證到期日超過母憑證?

    如果是X.509的規範,能否冒昧請教在哪份文件的何處?

     

    抱歉問題有點多,望請不吝賜教,謝謝

    2010年8月17日 上午 02:09

所有回覆

  • 真的都沒有人知道嗎?

    有懂這方面的老手可否不吝指點一下?

    2011年10月7日 上午 02:59
  • Dear huhan

    您的疑問可以直接參閱一下CA的加解密KEY的生命週期,若kEY SPACE 不夠長,那麼在進行子憑證的確認時,這把私鑰即無法進行解密

    因此這個不是在X.509的規範,而應該來自於非對稱式加密的演算法安全考量。

    您若對於X.509的設計有興趣,可以參閱一下ITU-T X.509的標準規格!

    http://www.itu.int/rec/T-REC-X.509


    Jason的電腦健身房 沒有永遠的安全 沒有永遠的弱點 有牌的神經病


    • 已編輯 Huang JasonMVP 2011年10月10日 上午 09:04 更正錯字
    2011年10月10日 上午 09:01
  • Dear Jason,

    很高興終於有人回覆這個問題,不過或許是我的問題描述的不夠清楚,我現在的問題並非是kEY SPACE 不夠長的問題,

    而是子憑證到期日,是否能超過母憑證本身的到期日,這樣又是否合法。

    舉例說明,憑證路徑上可以看見好多層簽署,例如下列:

    root cer

        └  A cer

            └  B cer

                  └  C cer

    C cer的母憑證是B cer,但假如B cer的有效日期是是2010-1-1 ~ 2011-1-1,那麼它所簽發出來的子憑證C cer的到期日是否能超過2011-1-1?

    我如果使用openssl去產生憑證的話,的確是可以將C cer的到期日超過母憑證到期日2011-1-1,簽發子憑證的時候僅需母憑證的金鑰,有效日期完全可以不必理會

    但如果使用微軟的CA server去產生憑證,假定我在2010-10-10生產憑證,並將有效期設為2年,但產生出來的憑證的有效日期卻會是2010-10-10 ~ 2011-1-1

    用微軟的CA server去產生出的子憑證會無法超過母憑證的到期日,所以我想知道,是什麼原因?如果不合法他的規範根據是什麼?

    我用openssl去產生子憑證超過母憑證的到期日,這樣的憑證是否合法?

    如果我想強制讓微軟的CA server去產生出的子憑證超過母憑證的到期日該怎做?

    希望對這方面有所了解的高手能夠指點一下迷津,因為這問題很困擾我,謝謝。


    • 已編輯 huhan 2011年10月17日 上午 08:29
    2011年10月17日 上午 08:18
  • Dear huhan

     

    其實,這個也是問題的所在,因為加密都有一個有效期,只是可以讓憑證做展期,那麼不合法的問題是因為無法對產生出來的子憑證對已過期的母憑證做信任!

    所以才會限制子憑證不得超過母憑證的有效期,但是母憑證可以透過展期來達成這個目標,讓子憑證可以持續的有效

    而我會提出key的問題,也是因為它的生命周期也是有所限制,所以會與憑證本身的底層有關,而非只是憑證本身的標準所限制著的。

    你可以試試看產出,只是在母憑證失效時,子憑證會變成不可信任!


    Jason的電腦健身房 沒有永遠的安全 沒有永遠的弱點 有牌的神經病

    2011年10月17日 上午 11:12
  • Dear Jason,

    是的,其實這個地方正是我的困惑點,以上述的例子為例,假定我用openssl去產生憑證,

    我的B cer的有效期是2010-1-1 ~ 2011-1-1,C cer的有效期是2010-10-10 ~ 2021-1-1,子憑證明顯超過母憑證有效期,

    1.

    當我2010-12-1在windows上看這張憑證,他會告訴我這張憑證是正確的,但是子憑證的日期明明超過母憑證,這樣的憑證是否真的正確?是符合規範的嗎?

    先不考慮這張憑證過了2011-1-1是否會不會就失效的問題,只單純討論子憑證超過母憑證有效期是否合乎規範,

    如果他是不符合規範的,那麼為何我在windows上看這張憑證,他卻是告訴我正確的,

    假如他符合規範,那麼我該如何用微軟的CA server去強制產生這樣的一張子憑證(目前無法做出)?

    2.

    另外一個困惑點是即便超過了2011-1-1,只要不超過C cer的有效期,

    假定在2011-2-1在windows上點這張憑證來看,她已經顯示已到期,但在網站或一些程式(包括微軟自己的程式),

    這張憑證卻是仍可使用,因為網站或一些程式(包括微軟自己的程式)再檢查憑證是否有效時,只檢查子憑證的有效期以及其上層的憑證列是否都存在,

    而不會一個個去檢查其上層的憑證列是否過期,所以這張憑證仍是可以使用的,那麼這張憑證到底是有效還是無效?

     

    這是我最困惑的兩個點,希望大哥不吝賜教,謝謝。

    2011年10月18日 上午 01:34
  • Dear huhan

     

    別這樣說! 我其實也是在你的問題中找答案,我記得每張憑證都有展期的限制和次數的限制

    所以,在合理的推理,只要子憑證產生出來的有效期限低於母憑證展期的時間長度和次數限制

    是否也是一種不算為抵觸母憑證有效期間無法信任的問題,這個部份我再查一下相關文件


    Jason的電腦健身房 沒有永遠的安全 沒有永遠的弱點 有牌的神經病

    2011年10月18日 下午 12:14
  • Dear Jason,

    實在很感謝的的幫忙,之前我也有在google查過很多資料,但似乎都沒有文件很明確的說到這塊,因此讓我十分的困惑

    期待你的好消息,謝謝。

    2011年10月19日 上午 05:10