1 // Copyright 2014 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 CONTENT_CHILD_WEBCRYPTO_NSS_SYM_KEY_NSS_H_ 6 #define CONTENT_CHILD_WEBCRYPTO_NSS_SYM_KEY_NSS_H_ 7 8 #include <pkcs11t.h> 9 10 #include "third_party/WebKit/public/platform/WebCrypto.h" 11 12 namespace content { 13 14 namespace webcrypto { 15 16 class CryptoData; 17 class Status; 18 19 Status GenerateSecretKeyNss(const blink::WebCryptoKeyAlgorithm& algorithm, 20 bool extractable, 21 blink::WebCryptoKeyUsageMask usage_mask, 22 unsigned keylen_bytes, 23 CK_MECHANISM_TYPE mechanism, 24 blink::WebCryptoKey* key); 25 26 Status ImportKeyRawNss(const CryptoData& key_data, 27 const blink::WebCryptoKeyAlgorithm& algorithm, 28 bool extractable, 29 blink::WebCryptoKeyUsageMask usage_mask, 30 CK_MECHANISM_TYPE mechanism, 31 CK_FLAGS flags, 32 blink::WebCryptoKey* key); 33 34 } // namespace webcrypto 35 36 } // namespace content 37 38 #endif // CONTENT_CHILD_WEBCRYPTO_NSS_SYM_KEY_NSS_H_ 39