<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    零全零美(www.zzgwt.com)
    生活中的很多事情,并不像If...Else那么簡單!
    posts - 96,comments - 52,trackbacks - 0
    用法:

    openssl verify 【-CApath directory】 【-CAfile file】 【-purpose purpose】【-untrusted file】 【-help】 【-issuer_checks】 【-verbose】 【-】 【certificates】

    說明:

    證書驗證工具。

    選項
    -CApath directory
    我們信任的CA的證書存放目錄。這些證書的名稱應該是這樣的格式:
    xxxxxxxx.0( xxxxxxxx代表證書的哈希值。 參看x509指令的-hash)
    你也可以在目錄里touch一些這樣格式文件名的文件,符號連接到真正的證書。
    那么這個xxxxxxxx我怎么知道怎么得到?x509指令有說明。
    其實這樣子就可以了:
    openssl x509 -hash -in server.crt

    -CAfile file
    我們信任的CA的證書,里面可以有多個CA的證書。

    -untrusted file
    我們不信任的CA的證書。

    -purpose purpose
    證書的用途。如果這個option沒有設置,那么不會對證書的CA鏈進行驗證。

    現在這個option的參數有以下幾個:
    sslclinet
    sslserver
    nssslserver
    smimesign
    smimeencrypt
    等下會詳細解釋的。

    -help
    打印幫助信息。

    -verbose

    打印出詳細的操作信息。

    -issuer_checks
    打印出我們驗證的證書的簽發CA的證書的之間的聯系。
    要一次驗證多個證書,把那些證書名都寫在后面就好了。

    驗證操作解釋:
    S/MIME和本指令使用完全相同的函數進行驗證。
    我們進行的驗證和真正的驗證有個根本的區別:
    在我們對整個證書鏈進行驗證的時候,即使中途有問題,我們也會驗證到最后,而真實的驗證一旦有一個環節出問題,那么整個驗證過程就告吹。
    驗證操作包括幾個獨立的步驟。
    首先建立證書鏈,從我們目前的證書為基礎,一直上溯到Root CA的證書.
    如果中間有任何問題,比如找不到某個證書的頒發者的證書,那么這個步驟就掛。有任何一個證書是字簽名的,就被認為是Root CA的證書。
    尋找一個證書的頒發CA也包過幾個步驟。在openssl0.9.5a之前的版本,如果一個證書的頒發者和另一個證書的擁有著相同,就認為后一個證書的擁有者就是前一個證書的簽名CA.
    openssl0.9.6及其以后的版本中,即使上一個條件成立,還要進行更多步驟的檢驗。包括驗證系列號等。到底有哪幾個我也沒看明白。
    得到CA的名稱之后首先去看看是否是不信任的CA, 如果不是,那么才去看看是否是信任的CA. 尤其是Root CA, 更是必須是在信任CA列表里面。
    現在得到鏈條上所有CA的名稱和證書了,下一步是去檢查第一個證書的用途是否和簽發時候批準的一樣。其他的證書則必須都是作為CA證書而頒發的。
    證書的用途在x509指令里會詳細解釋。
    過了第二步,現在就是檢查對Root CA的信任了。可能Root CA也是每個都負責不同領域的證書簽發。缺省的認為任何一個Root CA都是對任何用途的證書有簽發權。
    最后一步,檢查整條證書鏈的合法性。比如是否有任何一個證書過期了?簽名是否是正確的?是否真的是由該證書的頒發者簽名的?
    任何一步出問題,所有該證書值得懷疑,否則,證書檢驗通過。

    如果驗證操作有問題了,那么打印出來的結果可能會讓人有點模糊。
    一般如果出問題的話,會有類似這樣子的結果打印出來:
    server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
    error 24 at 1 depth lookup:invalid CA certificate
    第一行說明哪個證書出問題,后面是其擁有者的名字,包括幾個字段。
    第二行說明錯誤號,驗證出錯在第幾層的證書,以及錯誤描述。
    下面是錯誤號及其描述的詳細說明,注意,有的錯誤雖然有定義,
    但真正使用的時候永遠不會出現。用unused標志.
    0 X509_V_OK
    驗證操作沒有問題
    2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT
    找不到該證書的頒發CA的證書。
    3 X509_V_ERR_UNABLE_TO_GET_CRL (unused)
    找不到和該證書相關的CRL
    4 X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE
    無法解開證書里的簽名。
    5 X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE (unused)
    無法解開CRLs的簽名。
    6 X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
    無法得到證書里的公共密鑰信息。
    7 X509_V_ERR_CERT_SIGNATURE_FAILURE
    證書簽名無效
    8 X509_V_ERR_CRL_SIGNATURE_FAILURE (unused)
    證書相關的CRL簽名無效
    9 X509_V_ERR_CERT_NOT_YET_VALID
    證書還沒有到有效開始時間
    10 X509_V_ERR_CRL_NOT_YET_VALID (unused)
    與證書相關的CRL還沒有到有效開始時間
    11 X509_V_ERR_CERT_HAS_EXPIRED
    證書過期
    12 X509_V_ERR_CRL_HAS_EXPIRED (unused)
    與證書相關的CRL過期
    13 X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD
    證書的notBefore字段格式不對,就是說那個時間是非法格式。
    14 X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD
    證書的notAfter字段格式不對,就是說那個時間是非法格式。
    15 X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD (unused)
    CRL的lastUpdate字段格式不對。
    16 X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD (unused)
    CRL的nextUpdate字段格式不對
    17 X509_V_ERR_OUT_OF_MEM
    操作時候內存不夠。這和證書本身沒有關系。
    18 X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
    需要驗證的第一個證書就是字簽名證書,而且不在信任CA證書列表中。
    19 X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN
    可以建立證書鏈,但在本地找不到他們的根??

    : self signed certificate in certificate chain
    the certificate chain could be built up using the untrusted certificates
    but the root could not be found locally.
    20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
    有一個證書的簽發CA的證書找不到。這說明可能是你的Root CA的證書列表不齊全。
    21 X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE
    證書鏈只有一個item, 但又不是字簽名的證書。
    22 X509_V_ERR_CERT_CHAIN_TOO_LONG (unused)
    證書鏈太長。
    23 X509_V_ERR_CERT_REVOKED (unused)
    證書已經被CA宣布收回。
    24 X509_V_ERR_INVALID_CA
    某CA的證書無效。
    25 X509_V_ERR_PATH_LENGTH_EXCEEDED
    參數basicConstraints pathlentgh超過規定長度
    26 X509_V_ERR_INVALID_PURPOSE
    提供的證書不能用于請求的用途。
    比如鏈條中某個證書應該是用來做CA證書的,但證書里面的該字段說明該證書不是用做CA證書的,就是這樣子的情況。
    27 X509_V_ERR_CERT_UNTRUSTED
    Root CA的證書如果用在請求的用途是不被信任的。
    28 X509_V_ERR_CERT_REJECTED
    CA的證書根本不可以用做請求的用途。
    29 X509_V_ERR_SUBJECT_ISSUER_MISMATCH
    證書頒發者名稱和其CA擁有者名稱不相同。-issuer_checks被set的時候可以檢驗出來。
    30 X509_V_ERR_AKID_SKID_MISMATCH
    證書的密鑰標志和其頒發CA為其指定的密鑰標志不同.
    31 X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH
    證書系列號與起頒發CA為其指定的系列號不同。
    32 X509_V_ERR_KEYUSAGE_NO_CERTSIGN
    某CA的證書用途不包括為其他證書簽名。
    50 X509_V_ERR_APPLICATION_VERIFICATION
    應用程序驗證出錯。
    posted on 2009-11-27 17:33 零全零美 閱讀(674) 評論(0)  編輯  收藏 所屬分類: 安全相關
    主站蜘蛛池模板: 亚洲无av在线中文字幕| 亚洲情侣偷拍精品| 亚洲欧洲精品久久| 一级毛片免费观看| 亚洲AV无码国产丝袜在线观看| 一级午夜a毛片免费视频| www国产亚洲精品久久久日本| 国产精品亚洲专区一区| 亚洲成网777777国产精品| 日韩大片在线永久免费观看网站 | 日韩毛片一区视频免费| 亚洲不卡无码av中文字幕| 全部一级一级毛片免费看| 亚洲午夜精品久久久久久浪潮| 一级特级女人18毛片免费视频| 亚洲精品无码成人片在线观看| 精品国产污污免费网站入口在线| 亚洲精品无码高潮喷水在线| 久久99精品免费视频| 亚洲国产模特在线播放| 日韩在线视频免费看| 猫咪免费人成网站在线观看入口 | 午夜视频在线观看免费完整版| 亚洲日韩一区精品射精| 亚洲国产成人精品久久久国产成人一区二区三区综 | 两个人看的www高清免费观看| 久久亚洲国产精品五月天| 日本免费一区二区三区四区五六区| 亚洲黄色免费网站| 日韩毛片免费在线观看| 香蕉视频在线免费看| 亚洲第一成年网站大全亚洲| 亚洲无线一二三四区手机| 久久成人免费电影| 亚洲日韩国产二区无码| 久久久久亚洲精品无码网址| 一级毛片不卡片免费观看| 亚洲AV无码男人的天堂| 国产亚洲高清不卡在线观看| 日韩一区二区a片免费观看 | 日韩在线不卡免费视频一区|