Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(881)

Unified Diff: net/cert/x509_util_ios.cc

Issue 1882433002: Removing NSS files and USE_OPENSSL flag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/cert/x509_util_ios.h ('k') | net/cert/x509_util_nss.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cert/x509_util_ios.cc
diff --git a/net/cert/x509_util_ios.cc b/net/cert/x509_util_ios.cc
deleted file mode 100644
index 0c644a8a25a4b87809d3253d1c7d068cdd09e1fb..0000000000000000000000000000000000000000
--- a/net/cert/x509_util_ios.cc
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright (c) 2012 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/x509_util_ios.h"
-
-#include <cert.h>
-#include <CommonCrypto/CommonDigest.h>
-#include <nss.h>
-#include <prtypes.h>
-
-#include "base/mac/scoped_cftyperef.h"
-#include "base/memory/ref_counted.h"
-#include "crypto/nss_util.h"
-#include "net/cert/x509_certificate.h"
-#include "net/cert/x509_util_nss.h"
-
-using base::ScopedCFTypeRef;
-
-namespace net {
-namespace x509_util_ios {
-
-namespace {
-
-// Creates an NSS certificate handle from |data|, which is |length| bytes in
-// size.
-CERTCertificate* CreateNSSCertHandleFromBytes(const char* data,
- int length) {
- if (length < 0)
- return NULL;
-
- crypto::EnsureNSSInit();
-
- if (!NSS_IsInitialized())
- return NULL;
-
- SECItem der_cert;
- der_cert.data = reinterpret_cast<unsigned char*>(const_cast<char*>(data));
- der_cert.len = length;
- der_cert.type = siDERCertBuffer;
-
- // Parse into a certificate structure.
- return CERT_NewTempCertificate(CERT_GetDefaultCertDB(), &der_cert, NULL,
- PR_FALSE, PR_TRUE);
-}
-
-} // namespace
-
-CERTCertificate* CreateNSSCertHandleFromOSHandle(
- SecCertificateRef cert_handle) {
- ScopedCFTypeRef<CFDataRef> cert_data(SecCertificateCopyData(cert_handle));
- return CreateNSSCertHandleFromBytes(
- reinterpret_cast<const char*>(CFDataGetBytePtr(cert_data)),
- CFDataGetLength(cert_data));
-}
-
-SecCertificateRef CreateOSCertHandleFromNSSHandle(
- CERTCertificate* nss_cert_handle) {
- return X509Certificate::CreateOSCertHandleFromBytes(
- reinterpret_cast<const char*>(nss_cert_handle->derCert.data),
- nss_cert_handle->derCert.len);
-}
-
-scoped_refptr<X509Certificate> CreateCertFromNSSHandles(
- CERTCertificate* cert_handle,
- const std::vector<CERTCertificate*>& intermediates) {
- ScopedCFTypeRef<SecCertificateRef> os_server_cert(
- CreateOSCertHandleFromNSSHandle(cert_handle));
- if (!os_server_cert)
- return nullptr;
- std::vector<SecCertificateRef> os_intermediates;
- for (size_t i = 0; i < intermediates.size(); ++i) {
- SecCertificateRef intermediate =
- CreateOSCertHandleFromNSSHandle(intermediates[i]);
- if (!intermediate)
- break;
- os_intermediates.push_back(intermediate);
- }
-
- scoped_refptr<X509Certificate> cert = nullptr;
- if (intermediates.size() == os_intermediates.size()) {
- cert = X509Certificate::CreateFromHandle(os_server_cert,
- os_intermediates);
- }
-
- for (size_t i = 0; i < os_intermediates.size(); ++i)
- CFRelease(os_intermediates[i]);
- return cert;
-}
-
-SHA1HashValue CalculateFingerprintNSS(CERTCertificate* cert) {
- DCHECK(cert->derCert.data);
- DCHECK_NE(0U, cert->derCert.len);
- SHA1HashValue sha1;
- memset(sha1.data, 0, sizeof(sha1.data));
- CC_SHA1(cert->derCert.data, cert->derCert.len, sha1.data);
- return sha1;
-}
-
-// NSSCertificate implementation.
-
-NSSCertificate::NSSCertificate(SecCertificateRef cert_handle) {
- nss_cert_handle_ = CreateNSSCertHandleFromOSHandle(cert_handle);
- DLOG_IF(ERROR, cert_handle && !nss_cert_handle_)
- << "Could not convert SecCertificateRef to CERTCertificate*";
-}
-
-NSSCertificate::~NSSCertificate() {
- CERT_DestroyCertificate(nss_cert_handle_);
-}
-
-CERTCertificate* NSSCertificate::cert_handle() const {
- return nss_cert_handle_;
-}
-
-// NSSCertChain implementation
-
-NSSCertChain::NSSCertChain(X509Certificate* certificate) {
- DCHECK(certificate);
- certs_.push_back(CreateNSSCertHandleFromOSHandle(
- certificate->os_cert_handle()));
- const X509Certificate::OSCertHandles& cert_intermediates =
- certificate->GetIntermediateCertificates();
- for (size_t i = 0; i < cert_intermediates.size(); ++i)
- certs_.push_back(CreateNSSCertHandleFromOSHandle(cert_intermediates[i]));
-}
-
-NSSCertChain::~NSSCertChain() {
- for (size_t i = 0; i < certs_.size(); ++i)
- CERT_DestroyCertificate(certs_[i]);
-}
-
-CERTCertificate* NSSCertChain::cert_handle() const {
- return certs_.empty() ? NULL : certs_.front();
-}
-
-const std::vector<CERTCertificate*>& NSSCertChain::cert_chain() const {
- return certs_;
-}
-
-} // namespace x509_util_ios
-} // namespace net
« no previous file with comments | « net/cert/x509_util_ios.h ('k') | net/cert/x509_util_nss.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698