Activate ssh encoding of public keys for ed25519
This commit is contained in:
@@ -19,11 +19,13 @@ package org.sufficientlysecure.keychain.pgp;
|
|||||||
|
|
||||||
import org.bouncycastle.bcpg.DSAPublicBCPGKey;
|
import org.bouncycastle.bcpg.DSAPublicBCPGKey;
|
||||||
import org.bouncycastle.bcpg.ECPublicBCPGKey;
|
import org.bouncycastle.bcpg.ECPublicBCPGKey;
|
||||||
|
import org.bouncycastle.bcpg.EdDSAPublicBCPGKey;
|
||||||
import org.bouncycastle.bcpg.RSAPublicBCPGKey;
|
import org.bouncycastle.bcpg.RSAPublicBCPGKey;
|
||||||
import org.bouncycastle.openpgp.PGPPublicKey;
|
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||||
import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException;
|
import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException;
|
||||||
import org.sufficientlysecure.keychain.ssh.key.SshDSAPublicKey;
|
import org.sufficientlysecure.keychain.ssh.key.SshDSAPublicKey;
|
||||||
import org.sufficientlysecure.keychain.ssh.key.SshECDSAPublicKey;
|
import org.sufficientlysecure.keychain.ssh.key.SshECDSAPublicKey;
|
||||||
|
import org.sufficientlysecure.keychain.ssh.key.SshEd25519PublicKey;
|
||||||
import org.sufficientlysecure.keychain.ssh.key.SshRSAPublicKey;
|
import org.sufficientlysecure.keychain.ssh.key.SshRSAPublicKey;
|
||||||
import org.sufficientlysecure.keychain.ssh.utils.SshUtils;
|
import org.sufficientlysecure.keychain.ssh.utils.SshUtils;
|
||||||
|
|
||||||
@@ -46,9 +48,8 @@ public class SshPublicKey {
|
|||||||
return encodeRSAKey(key);
|
return encodeRSAKey(key);
|
||||||
case PGPPublicKey.ECDSA:
|
case PGPPublicKey.ECDSA:
|
||||||
return encodeECKey(key);
|
return encodeECKey(key);
|
||||||
// TODO
|
case PGPPublicKey.EDDSA:
|
||||||
// case PGPPublicKey.EDDSA:
|
return encodeEdDSAKey(key);
|
||||||
// return encodeEdDSAKey(key);
|
|
||||||
case PGPPublicKey.DSA:
|
case PGPPublicKey.DSA:
|
||||||
return encodeDSAKey(key);
|
return encodeDSAKey(key);
|
||||||
default:
|
default:
|
||||||
@@ -73,15 +74,13 @@ public class SshPublicKey {
|
|||||||
return sshECDSAPublicKey.getPublicKeyBlob();
|
return sshECDSAPublicKey.getPublicKeyBlob();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String encodeEdDSAKey(PGPPublicKey publicKey) {
|
||||||
|
EdDSAPublicBCPGKey publicBCPGKey = (EdDSAPublicBCPGKey) publicKey.getPublicKeyPacket().getKey();
|
||||||
|
|
||||||
|
SshEd25519PublicKey pubkey = new SshEd25519PublicKey(publicBCPGKey.getEdDSAEncodedPoint());
|
||||||
|
|
||||||
// private String encodeEdDSAKey(PGPPublicKey publicKey) {
|
return pubkey.getPublicKeyBlob();
|
||||||
// EdDSAPublicBCPGKey publicBCPGKey = (EdDSAPublicBCPGKey) publicKey.getPublicKeyPacket().getKey();
|
}
|
||||||
//
|
|
||||||
// SshEd25519PublicKey pubkey = new SshEd25519PublicKey(publicBCPGKey.getEdDSAEncodedPoint());
|
|
||||||
//
|
|
||||||
// return pubkey.getPublicKeyBlob();
|
|
||||||
// }
|
|
||||||
|
|
||||||
private String encodeDSAKey(PGPPublicKey publicKey) {
|
private String encodeDSAKey(PGPPublicKey publicKey) {
|
||||||
DSAPublicBCPGKey publicBCPGKey = (DSAPublicBCPGKey) publicKey.getPublicKeyPacket().getKey();
|
DSAPublicBCPGKey publicBCPGKey = (DSAPublicBCPGKey) publicKey.getPublicKeyPacket().getKey();
|
||||||
|
|||||||
2
extern/bouncycastle
vendored
2
extern/bouncycastle
vendored
Submodule extern/bouncycastle updated: 40bdff6428...be424633c3
Reference in New Issue
Block a user