| Index: chrome/common/net/x509_certificate_model.h
|
| diff --git a/chrome/common/net/x509_certificate_model.h b/chrome/common/net/x509_certificate_model.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..351f489e68d5545953ed805485650a82137021e4
|
| --- /dev/null
|
| +++ b/chrome/common/net/x509_certificate_model.h
|
| @@ -0,0 +1,128 @@
|
| +// Copyright (c) 2010 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.
|
| +
|
| +#ifndef NET_BASE_X509_CERTIFICATE_MODEL_H_
|
| +#define NET_BASE_X509_CERTIFICATE_MODEL_H_
|
| +#pragma once
|
| +
|
| +#include "net/base/cert_database.h"
|
| +#include "net/base/cert_type.h"
|
| +#include "net/base/x509_certificate.h"
|
| +
|
| +// This namespace defines a set of functions to be used in UI-related bits of
|
| +// X509 certificates. It decouples the UI from the underlying crypto library
|
| +// (currently NSS or OpenSSL - in development).
|
| +// This is currently only used by linux, as mac / windows use their own native
|
| +// certificate viewers and crypto libraries.
|
| +namespace x509_certificate_model {
|
| +
|
| +std::string GetCertNameOrNickname(
|
| + net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +std::string GetTokenName(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +std::string GetVersion(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +net::CertType GetType(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +std::string GetEmailAddress(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +void GetUsageStrings(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + std::vector<std::string>* usages);
|
| +
|
| +std::string GetKeyUsageString(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +std::string GetSerialNumberHexified(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +std::string GetIssuerCommonName(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +std::string GetIssuerOrgName(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +std::string GetIssuerOrgUnitName(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +std::string GetSubjectOrgName(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +std::string GetSubjectOrgUnitName(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +std::string GetSubjectCommonName(
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + const std::string& alternative_text);
|
| +
|
| +bool GetTimes(net::X509Certificate::OSCertHandle cert_handle,
|
| + base::Time* issued, base::Time* expires);
|
| +
|
| +std::string GetTitle(net::X509Certificate::OSCertHandle cert_handle);
|
| +std::string GetIssuerName(net::X509Certificate::OSCertHandle cert_handle);
|
| +std::string GetSubjectName(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +void GetEmailAddresses(net::X509Certificate::OSCertHandle cert_handle,
|
| + std::vector<std::string>* email_addresses);
|
| +
|
| +void GetNicknameStringsFromCertList(const net::CertificateList& certs,
|
| + const std::string& cert_expired,
|
| + const std::string& cert_not_yet_valid,
|
| + std::vector<std::string>* nick_names);
|
| +
|
| +struct Extension {
|
| + std::string name;
|
| + std::string value;
|
| +};
|
| +
|
| +typedef std::vector<Extension> Extensions;
|
| +
|
| +void GetExtensions(
|
| + const std::string& critical_label,
|
| + const std::string& non_critical_label,
|
| + net::X509Certificate::OSCertHandle cert_handle,
|
| + Extensions* extensions);
|
| +
|
| +// Hash a certificate using the given algorithm, return the result as a
|
| +// colon-seperated hex string.
|
| +std::string HashCertSHA256(net::X509Certificate::OSCertHandle cert_handle);
|
| +std::string HashCertSHA1(net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +// For host values, if they contain IDN Punycode-encoded A-labels, this will
|
| +// return a string suitable for display that contains both the original and the
|
| +// decoded U-label form. Otherwise, the string will be returned as is.
|
| +std::string ProcessIDN(const std::string& input);
|
| +
|
| +void GetCertChainFromCert(net::X509Certificate::OSCertHandle cert_handle,
|
| + net::X509Certificate::OSCertHandles* cert_handles);
|
| +void DestroyCertChain(net::X509Certificate::OSCertHandles* cert_handles);
|
| +
|
| +std::string GetDerString(net::X509Certificate::OSCertHandle cert_handle);
|
| +std::string GetCMSString(const net::X509Certificate::OSCertHandles& cert_chain,
|
| + size_t start, size_t end);
|
| +
|
| +std::string ProcessSecAlgorithmSignature(
|
| + net::X509Certificate::OSCertHandle cert_handle);
|
| +std::string ProcessSecAlgorithmSubjectPublicKey(
|
| + net::X509Certificate::OSCertHandle cert_handle);
|
| +std::string ProcessSecAlgorithmSignatureWrap(
|
| + net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +std::string ProcessSubjectPublicKeyInfo(
|
| + net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +std::string ProcessRawBitsSignatureWrap(
|
| + net::X509Certificate::OSCertHandle cert_handle);
|
| +
|
| +void RegisterDynamicOids();
|
| +
|
| +} // namespace x509_certificate_model
|
| +
|
| +#endif // NET_BASE_X509_CERTIFICATE_MODEL_H_
|
|
|