Dual pair BLE 4.0 Keyboard with MacOS and Linux

Viewed 266

I have a Microsoft surface keyboard, it works over BLE 4.0.

I would like to pair it with 2 hosts, my macbook and a linux workstation.

The bluetooth dongle is inserted in a KVM switch, and I need it to be paired with one machine at a time.

There are plenty of tutorials on the internet which achieve a similar thing between Windows & MacOS or MacOS & Linux.

The general idea is to pair with both and then replace the pairing keys & some other parameters on the other hosts so they match.

MacOS settings for High Sierra are located in /private/var/root/Library/Preferences/com.apple.bluetoothd.plist

Linux(Arch) settings are in /var/lib/bluetooth/DONGLE_MAC/DEVICE_MAC/info

Keys which require synchronization are:

IdentityResolvingKey.Key
LocalSignatureKey.Key
LongTermKey.Key
LongTermKey.EDiv
LongTermKey.Rand

I have found a match for all of them, but a LocalSignatureKey. The matching pair on Windows is called CSRK, but I can't find a version of it on MacOS.

Apart from SMPDistributionKeys dictionary on Mac, which contains all the other keys from the list, I have some other top-level keys, which I hope may represent the CSRK/LocalSignatureKey:

MagicCloudPairingMasterHint
MagicCloudPairingMasterKey
SMPCloudLocalNonce
SMPCloudLocalPrivateKey
SMPCloudLocalPublicKey

Does anyone have an idea what would be the mapping for LocalSignatureKey on Mac? Or CSRK on Windows to Mac?

0 Answers
Related