import "crypto/ocsp"

RFC 2560の仕様に従いOCSPレスポンスを解析します。OCSPレスポンスは、署名されたメッセージであり、証明書の有効性を短期間、証明するものです。これは、X.509証明書の無効化を管理するために用いられます。

パッケージファイル

ocsp.go

定数

const (
    // Goodは、この証明書が有効であることを意味します。
    Good = iota
    // Revokedは、この証明書が取り消されていることを意味します。
    Revoked = iota
    // Unknownは、OCSPレスポンダが、この証明書について関知していないことを意味します。
    Unknown = iota
    // ServerFailedは、OCSPレスポンダがリクエストの処理に失敗したことを意味します。
    ServerFailed = iota
)

ParseError型

ParseErrorは、不正なOCSPレスポンスによって生じます。

type ParseError string

(ParseError) String関数

func (p ParseError) String() string

Response型

Responseは、OCSPレスポンスを表します。RFC 2560を参照ください。

type Response struct {
    // Statusは、{Good, Revoked, Unknown, ServerFailed}のいずれか
    Status                                        int
    SerialNumber                                  []byte
    ProducedAt, ThisUpdate, NextUpdate, RevokedAt *time.Time
    RevocationReason                              int
    Certificate                                   *x509.Certificate
}

ParseResponse関数

func ParseResponse(bytes []byte) (*Response, os.Error)

ParseResponseは、DER形式のOCSPレスポンスを解析します。これがサポートしているのは、一つの証明書に対するレスポンスと、それに使用されるRAS署名だけです。RSA以外のレスポンスは、x509.UnsupportedAlgorithmErrorとなります。署名エラー、あるいは解析に失敗すると、ParseErrorとなります。