我正在编写一个访问非常敏感数据的应用程序(在c#中)。我有一个要求,即应用程序需要能够使用密码短语生成公钥/私钥。这是绝对必须的。我还需要保留旧钥匙。我们正在使用充气城堡lib和PGP。我查看了文档,似乎找不到使用短语生成它们的方法。
以下是我目前正在制作它们的方式:
var generator = new DsaKeyPairGenerator();
var paramgen = new DsaParametersGenerator();
paramgen.Init(512, 100, new SecureRandom());
var param = new DsaKeyGenerationParameters(new SecureRandom(), paramgen.GenerateParameters());
generator.Init(param);
return generator.GenerateKeyPair();
以下是我抓住钥匙的方法:
var publicKey = new PgpPublicKey(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag.Dsa, keys.Public, DateTime.Now);
var privateKey = new PgpPrivateKey(keys.Private, publicKey.KeyId);
有没有办法做到这一点,无论是在充气城堡还是任何其他加密库?