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 14namespace 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. 19PK11SlotInfo* 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. 26PK11SlotInfo* GetPrivateNSSKeySlot(); 27 28} // namespace crypto 29 30#endif // CRYPTO_NSS_UTIL_INTERNAL_H_ 31