1 // Copyright (c) 2011 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. 4 5 #ifndef CRYPTO_NSS_UTIL_INTERNAL_H_ 6 #define CRYPTO_NSS_UTIL_INTERNAL_H_ 7 #pragma once 8 9 #include <secmodt.h> 10 11 // These functions return a type defined in an NSS header, and so cannot be 12 // declared in nss_util.h. Hence, they are declared here. 13 14 namespace crypto { 15 16 // Returns a reference to the default NSS key slot for storing 17 // public-key data only (e.g. server certs). Caller must release 18 // returned reference with PK11_FreeSlot. 19 PK11SlotInfo* GetPublicNSSKeySlot(); 20 21 // Returns a reference to the default slot for storing private-key and 22 // mixed private-key/public-key data. Returns a hardware (TPM) NSS 23 // key slot if on ChromeOS and EnableTPMForNSS() has been called 24 // successfully. Caller must release returned reference with 25 // PK11_FreeSlot. 26 PK11SlotInfo* GetPrivateNSSKeySlot(); 27 28 } // namespace crypto 29 30 #endif // CRYPTO_NSS_UTIL_INTERNAL_H_ 31