1 // Copyright 2016 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/cert/ct_sct_to_string.h" 6 7 #include "base/logging.h" 8 #include "base/notreached.h" 9 10 namespace net::ct { 11 HashAlgorithmToString(DigitallySigned::HashAlgorithm hashAlgorithm)12const std::string HashAlgorithmToString( 13 DigitallySigned::HashAlgorithm hashAlgorithm) { 14 switch (hashAlgorithm) { 15 case DigitallySigned::HASH_ALGO_NONE: 16 return "None / invalid"; 17 case DigitallySigned::HASH_ALGO_MD5: 18 return "MD5"; 19 case DigitallySigned::HASH_ALGO_SHA1: 20 return "SHA-1"; 21 case DigitallySigned::HASH_ALGO_SHA224: 22 return "SHA-224"; 23 case DigitallySigned::HASH_ALGO_SHA256: 24 return "SHA-256"; 25 case DigitallySigned::HASH_ALGO_SHA384: 26 return "SHA-384"; 27 case DigitallySigned::HASH_ALGO_SHA512: 28 return "SHA-512"; 29 } 30 return "Unknown"; 31 } 32 SignatureAlgorithmToString(DigitallySigned::SignatureAlgorithm signatureAlgorithm)33const std::string SignatureAlgorithmToString( 34 DigitallySigned::SignatureAlgorithm signatureAlgorithm) { 35 switch (signatureAlgorithm) { 36 case DigitallySigned::SIG_ALGO_ANONYMOUS: 37 return "Anonymous"; 38 case DigitallySigned::SIG_ALGO_RSA: 39 return "RSA"; 40 case DigitallySigned::SIG_ALGO_DSA: 41 return "DSA"; 42 case DigitallySigned::SIG_ALGO_ECDSA: 43 return "ECDSA"; 44 } 45 return "Unknown"; 46 } 47 OriginToString(SignedCertificateTimestamp::Origin origin)48const std::string OriginToString(SignedCertificateTimestamp::Origin origin) { 49 switch (origin) { 50 case SignedCertificateTimestamp::SCT_EMBEDDED: 51 return "Embedded in certificate"; 52 case SignedCertificateTimestamp::SCT_FROM_TLS_EXTENSION: 53 return "TLS extension"; 54 case SignedCertificateTimestamp::SCT_FROM_OCSP_RESPONSE: 55 return "OCSP"; 56 case SignedCertificateTimestamp::SCT_ORIGIN_MAX: 57 NOTREACHED(); 58 } 59 return "Unknown"; 60 } 61 StatusToString(SCTVerifyStatus status)62const std::string StatusToString(SCTVerifyStatus status) { 63 switch (status) { 64 case SCT_STATUS_LOG_UNKNOWN: 65 return "From unknown log"; 66 case SCT_STATUS_INVALID_SIGNATURE: 67 return "Invalid signature"; 68 case SCT_STATUS_OK: 69 return "Verified"; 70 case SCT_STATUS_NONE: 71 return "None"; 72 case SCT_STATUS_INVALID_TIMESTAMP: 73 return "Invalid timestamp"; 74 } 75 return "Unknown"; 76 } 77 78 } // namespace net::ct 79