Files
smartcrypto/ts/smartcrypto.classes.publickey.ts

29 lines
812 B
TypeScript
Raw Normal View History

2022-10-23 23:53:34 +02:00
import * as plugins from './smartcrypto.plugins.js';
2019-10-01 15:27:21 +02:00
export class PublicKey {
// STATIC
public static createFromPrivateKey(pemString: string) {
const privateKey = plugins.nodeForge.pki.publicKeyFromPem(pemString);
return new PublicKey(privateKey);
}
2019-10-01 19:41:34 +02:00
public static fromPemString(pemString: string) {
return new PublicKey(plugins.nodeForge.pki.publicKeyFromPem(pemString));
}
2019-10-01 15:27:21 +02:00
// INSTANCE
public forgePublicKey: plugins.nodeForge.pki.PublicKey;
2019-10-01 19:28:50 +02:00
constructor(publicKeyArg: plugins.nodeForge.pki.PublicKey) {
2019-10-01 15:27:21 +02:00
this.forgePublicKey = publicKeyArg;
}
public toPemString(): string {
return plugins.nodeForge.pki.publicKeyToPem(this.forgePublicKey);
}
2024-02-09 17:52:13 +01:00
public toOpenSSH(): string {
return plugins.nodeForge.ssh.publicKeyToOpenSSH(this.forgePublicKey, 'user@host');
}
2019-10-01 19:28:50 +02:00
}