Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / child / webcrypto / nss / sym_key_nss.h
blobcad997420be4ca8f2d642063b4b06733b1744f81
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.
5 #ifndef CONTENT_CHILD_WEBCRYPTO_NSS_SYM_KEY_NSS_H_
6 #define CONTENT_CHILD_WEBCRYPTO_NSS_SYM_KEY_NSS_H_
8 #include <pkcs11t.h>
10 #include "third_party/WebKit/public/platform/WebCrypto.h"
12 namespace content {
14 namespace webcrypto {
16 class CryptoData;
17 class GenerateKeyResult;
18 class Status;
20 Status GenerateSecretKeyNss(const blink::WebCryptoKeyAlgorithm& algorithm,
21 bool extractable,
22 blink::WebCryptoKeyUsageMask usages,
23 unsigned int keylen_bits,
24 CK_MECHANISM_TYPE mechanism,
25 GenerateKeyResult* result);
27 Status ImportKeyRawNss(const CryptoData& key_data,
28 const blink::WebCryptoKeyAlgorithm& algorithm,
29 bool extractable,
30 blink::WebCryptoKeyUsageMask usages,
31 CK_MECHANISM_TYPE mechanism,
32 blink::WebCryptoKey* key);
34 } // namespace webcrypto
36 } // namespace content
38 #endif // CONTENT_CHILD_WEBCRYPTO_NSS_SYM_KEY_NSS_H_