HLF 1.4 中 HSMWalletMixin 的构造函数没有正确的变量

The constructor for HSMWalletMixin in HLF 1.4 doesn't have the correct variables

我正在尝试使用 fabric-network V1.4.17 连接到 HSM 查看 HSMWalletMixin 构造函数没有选项告诉 class 库标签和 pin。

相反,所有这些变量都可以在 X509WalletMixin 中找到。

这是 class 中的代码:

export interface WalletMixin {} // tslint:disable-line:no-empty-interface

export class X509WalletMixin implements WalletMixin {
    public static createIdentity(mspId: string, certificate: string, privateKey: string): Identity;
    constructor(library?: string, slot?: string, pin?: string, userType?: string);
}

export class HSMWalletMixin implements WalletMixin {
    public static createIdentity(mspId: string, certificate: string): Identity;
    constructor();
}

所以我尝试使用如下所示的 X509WalletMixin 创建一个 HSM 钱包,但它创建了一个普通钱包。

const hsmWalletMixin = new X509WalletMixin('/path/to/lib/libCryptoki2_64.so', 'slot', 'pin');
const wallet = new FileSystemWallet(walletPath, hsmWalletMixin);

那么,如何创建一个HSM钱包呢?是否有像本教程中那样的一些环境变量 Testing for Hardware Security Module via PKCS#11?

谢谢

查看源码实现正确 https://github.com/hyperledger/fabric-sdk-node/blob/4ca22aa1a70f464c3a5b9c259542aa7fee651061/fabric-network/lib/impl/wallet/hsmwalletmixin.js#L40

您发布的代码段中的类型定义不正确。

只有在使用 typescript 时才会出现问题,在这种情况下,您只需不使用 HSMWalletMixin 类型即可确保 typescript 不会尝试进行任何验证。