Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// var ProvisioningTransport = require('azure-iot-provisioning-device-mqtt').MqttWs;
var tpmSecurity = require('azure-iot-security-tpm');
var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;
//
// For the public clouds the address of the provisioning host would be: global.azure-devices-provisioning.net
//
var provisioningHost = '';
//
// You can find your idScope in the portal overview section for your dps instance.
//
var idScope = '';
var securityClient = new tpmSecurity.TpmSecurityClient();
var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), securityClient);
// Register the device. Do not force a re-registration.
provisioningClient.register(function(err, result) {
if (err) {
console.log("error registering device: " + err);
} else {
console.log('registration succeeded');
console.log('assigned hub=' + result.registrationState.assignedHub);
console.log('deviceId=' + result.registrationState.deviceId);
var tpmAuthenticationProvider = tpmSecurity.TpmAuthenticationProvider.fromTpmSecurityClient(result.registrationState.deviceId, result.registrationState.assignedHub, securityClient);
var hubClient = Client.fromAuthenticationProvider(tpmAuthenticationProvider, iotHubTransport);
var connectCallback = function (err) {
if (err) {
console.error('Could not connect: ' + err.message);
provisioningClient.register(function(err, result) {
if (err) {
console.log("error registering device: " + err);
} else {
console.log('registration succeeded');
console.log('assigned hub=' + result.registrationState.assignedHub);
console.log('deviceId=' + result.registrationState.deviceId);
var tpmAuthenticationProvider = tpmSecurity.TpmAuthenticationProvider.fromTpmSecurityClient(result.registrationState.deviceId, result.registrationState.assignedHub, securityClient);
var hubClient = Client.fromAuthenticationProvider(tpmAuthenticationProvider, iotHubTransport);
var connectCallback = function (err) {
if (err) {
console.error('Could not connect: ' + err.message);
} else {
console.log('Client connected');
var message = new Message('Hello world');
hubClient.sendEvent(message, printResultFor('send'));
}
};
hubClient.open(connectCallback);
function printResultFor(op) {
return function printResult(err, res) {
this.initialize = function (callback) {
var id = uuid.v4();
self.deviceId = 'deleteMe_provisioning_node_e2e_' + id;
self.registrationId = 'reg-' + id;
if (!tpm) {
tpm = new TssJs.Tpm(false);
}
securityClient = new TpmSecurityClient(self.registrationId, tpm);
securityClient.getEndorsementKey(function(err, endorsementKey) {
if (err) {
callback(err);
} else {
ek = endorsementKey.toString('base64');
callback();
}
});
};