naiveproxy/net/cert/ct_sct_to_string.cc

80 lines
2.1 KiB
C++
Raw Normal View History

2018-01-28 19:30:36 +03:00
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/cert/ct_sct_to_string.h"
namespace net {
namespace ct {
const std::string HashAlgorithmToString(
DigitallySigned::HashAlgorithm hashAlgorithm) {
switch (hashAlgorithm) {
case DigitallySigned::HASH_ALGO_NONE:
return "None / invalid";
case DigitallySigned::HASH_ALGO_MD5:
return "MD5";
case DigitallySigned::HASH_ALGO_SHA1:
return "SHA-1";
case DigitallySigned::HASH_ALGO_SHA224:
return "SHA-224";
case DigitallySigned::HASH_ALGO_SHA256:
return "SHA-256";
case DigitallySigned::HASH_ALGO_SHA384:
return "SHA-384";
case DigitallySigned::HASH_ALGO_SHA512:
return "SHA-512";
}
return "Unknown";
}
const std::string SignatureAlgorithmToString(
DigitallySigned::SignatureAlgorithm signatureAlgorithm) {
switch (signatureAlgorithm) {
case DigitallySigned::SIG_ALGO_ANONYMOUS:
return "Anonymous";
case DigitallySigned::SIG_ALGO_RSA:
return "RSA";
case DigitallySigned::SIG_ALGO_DSA:
return "DSA";
case DigitallySigned::SIG_ALGO_ECDSA:
return "ECDSA";
}
return "Unknown";
}
const std::string OriginToString(SignedCertificateTimestamp::Origin origin) {
switch (origin) {
case SignedCertificateTimestamp::SCT_EMBEDDED:
return "Embedded in certificate";
case SignedCertificateTimestamp::SCT_FROM_TLS_EXTENSION:
return "TLS extension";
case SignedCertificateTimestamp::SCT_FROM_OCSP_RESPONSE:
return "OCSP";
case SignedCertificateTimestamp::SCT_ORIGIN_MAX:
NOTREACHED();
}
return "Unknown";
}
const std::string StatusToString(SCTVerifyStatus status) {
switch (status) {
case SCT_STATUS_LOG_UNKNOWN:
return "From unknown log";
case SCT_STATUS_INVALID_SIGNATURE:
return "Invalid signature";
case SCT_STATUS_OK:
return "Verified";
case SCT_STATUS_NONE:
return "None";
case SCT_STATUS_INVALID_TIMESTAMP:
return "Invalid timestamp";
}
return "Unknown";
}
} // namespace ct
} // namespace net