mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-02 15:56:24 +00:00
Add support for ECDSA server keys
This commit is contained in:
parent
7d77e1c1f2
commit
5443cc014a
@ -98,10 +98,21 @@ public class PairingManager {
|
|||||||
System.arraycopy(pin.getBytes("UTF-8"), 0, saltedPin, salt.length, pin.length());
|
System.arraycopy(pin.getBytes("UTF-8"), 0, saltedPin, salt.length, pin.length());
|
||||||
return saltedPin;
|
return saltedPin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Signature getSha256SignatureInstanceForKey(Key key) throws NoSuchAlgorithmException {
|
||||||
|
switch (key.getAlgorithm()) {
|
||||||
|
case "RSA":
|
||||||
|
return Signature.getInstance("SHA256withRSA");
|
||||||
|
case "EC":
|
||||||
|
return Signature.getInstance("SHA256withECDSA");
|
||||||
|
default:
|
||||||
|
throw new NoSuchAlgorithmException("Unhandled key algorithm: " + key.getAlgorithm());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean verifySignature(byte[] data, byte[] signature, Certificate cert) {
|
private static boolean verifySignature(byte[] data, byte[] signature, Certificate cert) {
|
||||||
try {
|
try {
|
||||||
Signature sig = Signature.getInstance("SHA256withRSA");
|
Signature sig = PairingManager.getSha256SignatureInstanceForKey(cert.getPublicKey());
|
||||||
sig.initVerify(cert.getPublicKey());
|
sig.initVerify(cert.getPublicKey());
|
||||||
sig.update(data);
|
sig.update(data);
|
||||||
return sig.verify(signature);
|
return sig.verify(signature);
|
||||||
@ -113,7 +124,7 @@ public class PairingManager {
|
|||||||
|
|
||||||
private static byte[] signData(byte[] data, PrivateKey key) {
|
private static byte[] signData(byte[] data, PrivateKey key) {
|
||||||
try {
|
try {
|
||||||
Signature sig = Signature.getInstance("SHA256withRSA");
|
Signature sig = PairingManager.getSha256SignatureInstanceForKey(key);
|
||||||
sig.initSign(key);
|
sig.initSign(key);
|
||||||
sig.update(data);
|
sig.update(data);
|
||||||
return sig.sign();
|
return sig.sign();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user