1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file.
4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#ifndef NET_CERT_CT_VERIFY_RESULT_H_
6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define NET_CERT_CT_VERIFY_RESULT_H_
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <vector>
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "net/cert/signed_certificate_timestamp.h"
11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace net {
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace ct {
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)typedef std::vector<scoped_refptr<SignedCertificateTimestamp> > SCTList;
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Holds Signed Certificate Timestamps, depending on their verification results.
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// More information could be tracked here about SCTs, but for the current UI
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// this categorization is enough.
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)struct NET_EXPORT CTVerifyResult {
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  CTVerifyResult();
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  ~CTVerifyResult();
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  // SCTs from known logs where the signature verified correctly.
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  SCTList verified_scts;
27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  // SCTs from known logs where the signature failed to verify.
28a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  SCTList invalid_scts;
29a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  // SCTs from unknown logs and as such are unverifiable.
30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  SCTList unknown_logs_scts;
31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)};
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}  // namespace ct
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}  // namespace net
36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif  // NET_CERT_CT_VERIFY_RESULT_H_
38