Bastiaan
Thanks Bastiaan. However, I think that's what I'm doing.
$stringToSign = SecurityUtil::getPublicKeyFormattedString( $clientKeyPair->getPublicKey() ) . $sessionToken->getToken();
$keySignature = $privateKey->sign($stringToSign);
That looks like you're signing the public key, together with the authentication. I am doing the same, it's just the formatting of the public key. Since I don't know PHP or C# that well, I am curious what the following produces.
SecurityUtil::getPublicKeyFormattedString( $clientKeyPair->getPublicKey() )
In my case, the public key looks like this in PEM format.
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNf6xWi1Sy3STeUlHCdU
kP5Q7nfRpXX7RN1P7SXSOh03JZpHtnGcdKA8oCSlTWXUnrmc74RU4jnVfr61f+UI
0YzalBvIEZ/HV/A5MQOE75SyemogNwpzgHqWicp2hGDbGWtp4mkYS6a8RlxKSYHs
uHbFNjAxQ7QX+H+4wyWkPPaCHdrX0NzMLHPO9Y7C2UwtaPqtiJbaPyhdhwLhOeuR
1kkaCEzPFAAVifqr+6vAWmH7ASJek5Enx5bCZVTUdXDsdvTamtNs7QtAgu1oBrbx
A5tLDIRevAYvX5vlGAKlnsReOpkoa8ClUXWr9g1vU8oNvU57S+r+UaH7SJNyY4fV
KwIDAQAB
-----END PUBLIC KEY-----
I sent it to the POST /v1/installation endpoint as follows
{
"client_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNf6xWi1Sy3STeUlHCdU\nkP5Q7nfRpXX7RN1P7SXSOh03JZpHtnGcdKA8oCSlTWXUnrmc74RU4jnVfr61f+UI\n0YzalBvIEZ/HV/A5MQOE75SyemogNwpzgHqWicp2hGDbGWtp4mkYS6a8RlxKSYHs\nuHbFNjAxQ7QX+H+4wyWkPPaCHdrX0NzMLHPO9Y7C2UwtaPqtiJbaPyhdhwLhOeuR\n1kkaCEzPFAAVifqr+6vAWmH7ASJek5Enx5bCZVTUdXDsdvTamtNs7QtAgu1oBrbx\nA5tLDIRevAYvX5vlGAKlnsReOpkoa8ClUXWr9g1vU8oNvU57S+r+UaH7SJNyY4fV\nKwIDAQAB\n-----END PUBLIC KEY-----"
}
Which returned the following authentication
b5b1c1f25728eb737c6c5df481919bce7c3a4a17e2efc242176f9dd6ccf9ced1
I therefor tried the following payload for the public key signature.
-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNf6xWi1Sy3STeUlHCdU\nkP5Q7nfRpXX7RN1P7SXSOh03JZpHtnGcdKA8oCSlTWXUnrmc74RU4jnVfr61f+UI\n0YzalBvIEZ/HV/A5MQOE75SyemogNwpzgHqWicp2hGDbGWtp4mkYS6a8RlxKSYHs\nuHbFNjAxQ7QX+H+4wyWkPPaCHdrX0NzMLHPO9Y7C2UwtaPqtiJbaPyhdhwLhOeuR\n1kkaCEzPFAAVifqr+6vAWmH7ASJek5Enx5bCZVTUdXDsdvTamtNs7QtAgu1oBrbx\nA5tLDIRevAYvX5vlGAKlnsReOpkoa8ClUXWr9g1vU8oNvU57S+r+UaH7SJNyY4fV\nKwIDAQAB\n-----END PUBLIC KEY-----b5b1c1f25728eb737c6c5df481919bce7c3a4a17e2efc242176f9dd6ccf9ced1
Anything that strikes you as wrong with that? I'm just not sure what to expect.
Regards,
Olivier