//Tutorial: Generating a new DSA key for user authentication private static void GenerateDSAKey() { //DSA KEY GENERATION TEST byte[] testdata = Encoding.ASCII.GetBytes("CHRISTIAN VIERI"); DSAKeyPair kp = DSAKeyPair.GenerateNew(2048, new Random()); //sign and verify test byte[] sig = kp.Sign(testdata); kp.Verify(sig, testdata); //export / import test SSH2UserAuthKey key = new SSH2UserAuthKey(kp); key.WritePublicPartInOpenSSHStyle(new FileStream("newdsakey.pub", FileMode.Create)); key.WritePrivatePartInSECSHStyleFile(new FileStream("newrsakey.bin", FileMode.Create), "comment", "passphrase"); //read test SSH2UserAuthKey newpk = SSH2UserAuthKey.FromSECSHStyleFile("newrsakey.bin", "passphrase"); }
public void SetResultKey(SSH2UserAuthKey key) { _resultKey = key; CheckGenerationComplete(); }
//状態更新 パスフレーズ入力ダイアログから public void SetStatus(PrivateKeyStatus st, SSH2UserAuthKey key) { _status = st; _key = key; }
private SSH2UserAuthKey _key; //有効化するまではnull public AgentPrivateKey(string filename) { _filename = filename; _status = PrivateKeyStatus.Initial; _key = null; }
private SSH2UserAuthKey FindKey(SSH2UserAuthKey[] keys, byte[] blob) { foreach (SSH2UserAuthKey key in keys) { byte[] t = key.GetPublicKeyBlob(); if (Util.SSHUtil.ByteArrayEqual(t, blob)) { return key; } } return null; }
private SSH2UserAuthKey FindKey(SSH2UserAuthKey[] keys, byte[] blob) { foreach(SSH2UserAuthKey key in keys) { byte[] t = key.GetPublicKeyBlob(); if(t.Length==blob.Length && Util.SSHUtil.memcmp(t, blob)==0) return key; } return null; }