/// <summary> /// TODO /// </summary> /// <param name="deviceIdentifier"></param> /// <param name="deviceKey"></param> /// <param name="identityKeyPair"></param> /// <param name="profileKey"></param> /// <param name="code"></param> /// <param name="token"></param> /// <exception cref="InvalidKeyException"><</exception> /// <exception cref="IOException"></exception> public async Task AddDeviceAsync(string deviceIdentifier, ECPublicKey deviceKey, IdentityKeyPair identityKeyPair, byte[] profileKey, string code, CancellationToken?token = null) { if (token == null) { token = CancellationToken.None; } ProvisioningCipher cipher = new ProvisioningCipher(deviceKey); ProvisionMessage message = new ProvisionMessage { IdentityKeyPublic = ByteString.CopyFrom(identityKeyPair.getPublicKey().serialize()), IdentityKeyPrivate = ByteString.CopyFrom(identityKeyPair.getPrivateKey().serialize()), Number = credentials.E164, ProvisioningCode = code }; if (profileKey != null) { message.ProfileKey = ByteString.CopyFrom(profileKey); } byte[] ciphertext = cipher.Encrypt(message); await pushServiceSocket.SendProvisioningMessageAsync(deviceIdentifier, ciphertext, token); }
public async void addDevice(string deviceIdentifier, ECPublicKey deviceKey, IdentityKeyPair identityKeyPair, string code)//throws InvalidKeyException, IOException { ProvisioningCipher cipher = new ProvisioningCipher(deviceKey); ProvisionMessage message = ProvisionMessage.CreateBuilder() .SetIdentityKeyPublic(ByteString.CopyFrom(identityKeyPair.getPublicKey().serialize())) .SetIdentityKeyPrivate(ByteString.CopyFrom(identityKeyPair.getPrivateKey().serialize())) .SetNumber(user) .SetProvisioningCode(code) .Build(); byte[] ciphertext = cipher.encrypt(message); await this.pushServiceSocket.sendProvisioningMessage(deviceIdentifier, ciphertext); }
public void addDevice(string deviceIdentifier, ECPublicKey deviceKey, IdentityKeyPair identityKeyPair, string code)//throws InvalidKeyException, IOException { ProvisioningCipher cipher = new ProvisioningCipher(deviceKey); ProvisionMessage message = new ProvisionMessage { IdentityKeyPublic = ByteString.CopyFrom(identityKeyPair.getPublicKey().serialize()), IdentityKeyPrivate = ByteString.CopyFrom(identityKeyPair.getPrivateKey().serialize()), Number = user, ProvisioningCode = code }; byte[] ciphertext = cipher.encrypt(message); this.pushServiceSocket.sendProvisioningMessage(deviceIdentifier, ciphertext); }
/// <summary> /// TODO /// </summary> /// <param name="token"></param> /// <param name="deviceIdentifier"></param> /// <param name="deviceKey"></param> /// <param name="identityKeyPair"></param> /// <param name="profileKey"></param> /// <param name="code"></param> public async Task AddDevice(CancellationToken token, string deviceIdentifier, ECPublicKey deviceKey, IdentityKeyPair identityKeyPair, byte[] profileKey, string code)//throws InvalidKeyException, IOException { ProvisioningCipher cipher = new ProvisioningCipher(deviceKey); ProvisionMessage message = new ProvisionMessage { IdentityKeyPublic = ByteString.CopyFrom(identityKeyPair.getPublicKey().serialize()), IdentityKeyPrivate = ByteString.CopyFrom(identityKeyPair.getPrivateKey().serialize()), Number = User, ProvisioningCode = code }; if (profileKey != null) { message.ProfileKey = ByteString.CopyFrom(profileKey); } byte[] ciphertext = cipher.encrypt(message); await PushServiceSocket.SendProvisioningMessage(token, deviceIdentifier, ciphertext); }