blob: 2f185a4051587c0d198f26e6c622ca97fba70fc5 [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CRYPTOHOME_PKCS11_PKCS11_TOKEN_FACTORY_H_
#define CRYPTOHOME_PKCS11_PKCS11_TOKEN_FACTORY_H_
#include <memory>
#include <string>
#include <base/files/file_path.h>
#include <brillo/secure_blob.h>
#include "cryptohome/pkcs11/pkcs11_token.h"
namespace cryptohome {
class Pkcs11TokenFactory {
public:
virtual ~Pkcs11TokenFactory() = default;
virtual std::unique_ptr<Pkcs11Token> New(
const std::string& username,
const base::FilePath& token_dir,
const brillo::SecureBlob& auth_data) = 0;
};
} // namespace cryptohome
#endif // CRYPTOHOME_PKCS11_PKCS11_TOKEN_FACTORY_H_