smartcrypto/ts/smartcrypto.classes.privatekey.ts
2024-02-09 17:52:13 +01:00

29 lines
827 B
TypeScript

import * as plugins from './smartcrypto.plugins.js';
export class PrivateKey {
// STATIC
public static createFromPrivateKey(pemString: string) {
const privateKey = plugins.nodeForge.pki.privateKeyFromPem(pemString);
return new PrivateKey(privateKey);
}
public static fromPemString(pemString: string) {
return new PrivateKey(plugins.nodeForge.pki.privateKeyFromPem(pemString));
}
// INSTANCE
public forgePrivateKey: plugins.nodeForge.pki.PrivateKey;
constructor(privateKeyArg: plugins.nodeForge.pki.PrivateKey) {
this.forgePrivateKey = privateKeyArg;
}
public toPemString(): string {
return plugins.nodeForge.pki.privateKeyToPem(this.forgePrivateKey);
}
public toOpenSSH(): string {
return plugins.nodeForge.ssh.privateKeyToOpenSSH(this.forgePrivateKey, 'user@host');
}
}