| Index: net/test/cert_test_util_nss.cc
|
| diff --git a/net/test/cert_test_util_nss.cc b/net/test/cert_test_util_nss.cc
|
| deleted file mode 100644
|
| index ee929e5a41fac9f9b78ec563b80c78ca9d61ce0a..0000000000000000000000000000000000000000
|
| --- a/net/test/cert_test_util_nss.cc
|
| +++ /dev/null
|
| @@ -1,87 +0,0 @@
|
| -// Copyright 2014 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/test/cert_test_util.h"
|
| -
|
| -#include <pk11pub.h>
|
| -#include <secmodt.h>
|
| -
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/file_util.h"
|
| -#include "crypto/nss_util.h"
|
| -#include "crypto/rsa_private_key.h"
|
| -#include "net/cert/cert_type.h"
|
| -
|
| -namespace net {
|
| -
|
| -scoped_ptr<crypto::RSAPrivateKey> ImportSensitiveKeyFromFile(
|
| - const base::FilePath& dir,
|
| - const std::string& key_filename,
|
| - PK11SlotInfo* slot) {
|
| - base::FilePath key_path = dir.AppendASCII(key_filename);
|
| - std::string key_pkcs8;
|
| - bool success = base::ReadFileToString(key_path, &key_pkcs8);
|
| - if (!success) {
|
| - LOG(ERROR) << "Failed to read file " << key_path.value();
|
| - return scoped_ptr<crypto::RSAPrivateKey>();
|
| - }
|
| -
|
| - const uint8* key_pkcs8_begin =
|
| - reinterpret_cast<const uint8*>(key_pkcs8.data());
|
| - std::vector<uint8> key_vector(key_pkcs8_begin,
|
| - key_pkcs8_begin + key_pkcs8.length());
|
| -
|
| - scoped_ptr<crypto::RSAPrivateKey> private_key(
|
| - crypto::RSAPrivateKey::CreateSensitiveFromPrivateKeyInfo(slot,
|
| - key_vector));
|
| - LOG_IF(ERROR, !private_key) << "Could not create key from file "
|
| - << key_path.value();
|
| - return private_key.Pass();
|
| -}
|
| -
|
| -bool ImportClientCertToSlot(const scoped_refptr<X509Certificate>& cert,
|
| - PK11SlotInfo* slot) {
|
| - std::string nickname = cert->GetDefaultNickname(USER_CERT);
|
| - {
|
| - crypto::AutoNSSWriteLock lock;
|
| - SECStatus rv = PK11_ImportCert(slot,
|
| - cert->os_cert_handle(),
|
| - CK_INVALID_HANDLE,
|
| - nickname.c_str(),
|
| - PR_FALSE);
|
| - if (rv != SECSuccess) {
|
| - LOG(ERROR) << "Could not import cert";
|
| - return false;
|
| - }
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -scoped_refptr<X509Certificate> ImportClientCertAndKeyFromFile(
|
| - const base::FilePath& dir,
|
| - const std::string& cert_filename,
|
| - const std::string& key_filename,
|
| - PK11SlotInfo* slot) {
|
| - if (!ImportSensitiveKeyFromFile(dir, key_filename, slot)) {
|
| - LOG(ERROR) << "Could not import private key from file " << key_filename;
|
| - return NULL;
|
| - }
|
| -
|
| - scoped_refptr<X509Certificate> cert(ImportCertFromFile(dir, cert_filename));
|
| -
|
| - if (!cert.get()) {
|
| - LOG(ERROR) << "Failed to parse cert from file " << cert_filename;
|
| - return NULL;
|
| - }
|
| -
|
| - if (!ImportClientCertToSlot(cert, slot))
|
| - return NULL;
|
| -
|
| - // |cert| continues to point to the original X509Certificate before the
|
| - // import to |slot|. However this should not make a difference as NSS handles
|
| - // state globally.
|
| - return cert;
|
| -}
|
| -
|
| -} // namespace net
|
|
|