1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/net/nss_context.h"
7 #include "content/public/browser/browser_thread.h"
8 #include "crypto/nss_util_internal.h"
9 #include "net/cert/nss_cert_database.h"
11 crypto::ScopedPK11Slot
GetPublicNSSKeySlotForResourceContext(
12 content::ResourceContext
* context
) {
13 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO
));
14 return crypto::ScopedPK11Slot(crypto::GetPublicNSSKeySlot());
17 crypto::ScopedPK11Slot
GetPrivateNSSKeySlotForResourceContext(
18 content::ResourceContext
* context
,
19 const base::Callback
<void(crypto::ScopedPK11Slot
)>& callback
) {
20 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO
));
21 return crypto::ScopedPK11Slot(crypto::GetPrivateNSSKeySlot());
24 net::NSSCertDatabase
* GetNSSCertDatabaseForResourceContext(
25 content::ResourceContext
* context
,
26 const base::Callback
<void(net::NSSCertDatabase
*)>& callback
) {
27 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO
));
28 return net::NSSCertDatabase::GetInstance();