Skip to content

Commit 4482798

Browse files
cartertinneyAzure IoT Builder
authored and
Azure IoT Builder
committed
Added OpenSSL compatibility for samples
1 parent 20a39e7 commit 4482798

File tree

10 files changed

+120
-7
lines changed

10 files changed

+120
-7
lines changed

provisioning_service_client/samples/prov_sc_bulk_operation_sample/CMakeLists.txt

+10
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ compileAsC99()
77

88
set(prov_sc_bulk_operation_sample_c_files
99
prov_sc_bulk_operation_sample.c
10+
../../../certs/certs.c
1011
)
1112

1213
set (prov_sc_bulk_operation_sample_h_files
@@ -25,5 +26,14 @@ add_executable(prov_sc_bulk_operation_sample ${prov_sc_bulk_operation_sample_c_f
2526
target_link_libraries(prov_sc_bulk_operation_sample
2627
provisioning_service_client)
2728

29+
if(${use_openssl})
30+
add_definitions(-DUSE_OPENSSL)
31+
if (WIN32)
32+
target_link_libraries(prov_sc_bulk_operation_sample $ENV{OpenSSLDir}/lib/ssleay32.lib $ENV{OpenSSLDir}/lib/libeay32.lib)
33+
file(COPY $ENV{OpenSSLDir}/bin/libeay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
34+
file(COPY $ENV{OpenSSLDir}/bin/ssleay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
35+
endif()
36+
endif()
37+
2838
linkSharedUtil(prov_sc_bulk_operation_sample)
2939
linkUHTTP(prov_sc_bulk_operation_sample)

provisioning_service_client/samples/prov_sc_bulk_operation_sample/prov_sc_bulk_operation_sample.c

+19-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,18 @@
66

77
#include "azure_c_shared_utility/platform.h"
88

9+
#include "../../../certs/certs.h"
10+
911
#include "provisioning_service_client.h"
1012

13+
static bool g_use_trace = true;
14+
15+
#ifdef USE_OPENSSL
16+
static bool g_use_certificate = true;
17+
#else
18+
static bool g_use_certificate = false;
19+
#endif //USE_OPENSSL
20+
1121
int main()
1222
{
1323
int result = 0;
@@ -24,7 +34,14 @@ int main()
2434
PROVISIONING_SERVICE_CLIENT_HANDLE prov_sc = prov_sc_create_from_connection_string(connectionString);
2535

2636
/* ---Optionally set connection options---*/
27-
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
37+
if (g_use_trace)
38+
{
39+
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
40+
}
41+
if (g_use_certificate)
42+
{
43+
prov_sc_set_certificate(prov_sc, certificates);
44+
}
2845

2946
/* ---Build the array of individual enrollments to run bulk operations on--- */
3047
ATTESTATION_MECHANISM_HANDLE am1 = attestationMechanism_createWithTpm(endorsementKey, NULL);
@@ -66,6 +83,7 @@ int main()
6683

6784
/* ---Destroy the provisioning service client handle--- */
6885
prov_sc_destroy(prov_sc);
86+
platform_deinit();
6987

7088
return result;
7189
}

provisioning_service_client/samples/prov_sc_bulk_operation_sample/readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44

5-
This is a quick tutorial with the steps to create and delete Individual Enrollmens with Bulk Operations on the Microsoft Azure IoT Hub Device Provisioning Service using the C SDK.
5+
This is a quick tutorial with the steps to create and delete Individual Enrollments with Bulk Operations on the Microsoft Azure IoT Hub Device Provisioning Service using the C SDK.
66

77
## References
88

provisioning_service_client/samples/prov_sc_enrollment_group_sample/CMakeLists.txt

+10
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ compileAsC99()
77

88
set(prov_sc_enrollment_group_sample_c_files
99
prov_sc_enrollment_group_sample.c
10+
../../../certs/certs.c
1011
)
1112

1213
set (prov_sc_enrollment_group_sample_h_files
@@ -25,5 +26,14 @@ add_executable(prov_sc_enrollment_group_sample ${prov_sc_enrollment_group_sample
2526
target_link_libraries(prov_sc_enrollment_group_sample
2627
provisioning_service_client)
2728

29+
if(${use_openssl})
30+
add_definitions(-DUSE_OPENSSL)
31+
if (WIN32)
32+
target_link_libraries(prov_sc_enrollment_group_sample $ENV{OpenSSLDir}/lib/ssleay32.lib $ENV{OpenSSLDir}/lib/libeay32.lib)
33+
file(COPY $ENV{OpenSSLDir}/bin/libeay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
34+
file(COPY $ENV{OpenSSLDir}/bin/ssleay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
35+
endif()
36+
endif()
37+
2838
linkSharedUtil(prov_sc_enrollment_group_sample)
2939
linkUHTTP(prov_sc_enrollment_group_sample)

provisioning_service_client/samples/prov_sc_enrollment_group_sample/prov_sc_enrollment_group_sample.c

+19-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,18 @@
66

77
#include "azure_c_shared_utility/platform.h"
88

9+
#include "../../../certs/certs.h"
10+
911
#include "provisioning_service_client.h"
1012

13+
static bool g_use_trace = true;
14+
15+
#ifdef USE_OPENSSL
16+
static bool g_use_certificate = true;
17+
#else
18+
static bool g_use_certificate = false;
19+
#endif //USE_OPENSSL
20+
1121
int main()
1222
{
1323
int result = 0;
@@ -37,8 +47,14 @@ int main()
3747
prov_sc = prov_sc_create_from_connection_string(connectionString);
3848

3949
/* ---Optionally set connection options--- */
40-
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
41-
//Other options can also be set here - refer to the APIs
50+
if (g_use_trace)
51+
{
52+
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
53+
}
54+
if (g_use_certificate)
55+
{
56+
prov_sc_set_certificate(prov_sc, certificates);
57+
}
4258

4359
/* ---Create an Enrollment Group structure--- */
4460
printf("Creating an Enrollment Group structure...\n");
@@ -81,6 +97,7 @@ int main()
8197
/* ---Clean up handles--- */
8298
enrollmentGroup_destroy(eg_handle);
8399
prov_sc_destroy(prov_sc);
100+
platform_deinit();
84101

85102
return result;
86103
}

provisioning_service_client/samples/prov_sc_individual_enrollment_sample/CMakeLists.txt

+11
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ compileAsC99()
77

88
set(prov_sc_individual_enrollment_sample_c_files
99
prov_sc_individual_enrollment_sample.c
10+
../../../certs/certs.c
1011
)
1112

1213
set (prov_sc_individual_enrollment_sample_h_files
@@ -25,5 +26,15 @@ add_executable(prov_sc_individual_enrollment_sample ${prov_sc_individual_enrollm
2526
target_link_libraries(prov_sc_individual_enrollment_sample
2627
provisioning_service_client)
2728

29+
if(${use_openssl})
30+
add_definitions(-DUSE_OPENSSL)
31+
if (WIN32)
32+
target_link_libraries(prov_sc_individual_enrollment_sample $ENV{OpenSSLDir}/lib/ssleay32.lib $ENV{OpenSSLDir}/lib/libeay32.lib)
33+
file(COPY $ENV{OpenSSLDir}/bin/libeay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
34+
file(COPY $ENV{OpenSSLDir}/bin/ssleay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
35+
endif()
36+
endif()
37+
38+
2839
linkSharedUtil(prov_sc_individual_enrollment_sample)
2940
linkUHTTP(prov_sc_individual_enrollment_sample)

provisioning_service_client/samples/prov_sc_individual_enrollment_sample/prov_sc_individual_enrollment_sample.c

+19-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,18 @@
66

77
#include "azure_c_shared_utility/platform.h"
88

9+
#include "../../../certs/certs.h"
10+
911
#include "provisioning_service_client.h"
1012

13+
static bool g_use_trace = true;
14+
15+
#ifdef USE_OPENSSL
16+
static bool g_use_certificate = true;
17+
#else
18+
static bool g_use_certificate = false;
19+
#endif //USE_OPENSSL
20+
1121
int main()
1222
{
1323
int result = 0;
@@ -38,8 +48,14 @@ int main()
3848
prov_sc = prov_sc_create_from_connection_string(connectionString);
3949

4050
/* ---Optionally set connection options--- */
41-
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
42-
//Other options can also be set here - refer to the APIs
51+
if (g_use_trace)
52+
{
53+
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
54+
}
55+
if (g_use_certificate)
56+
{
57+
prov_sc_set_certificate(prov_sc, certificates);
58+
}
4359

4460
/* ---Create an Individual Enrollment structure--- */
4561
printf("Creating an Individual Enrollment structure...\n");
@@ -83,6 +99,7 @@ int main()
8399
/* ---Clean up handles--- */
84100
individualEnrollment_destroy(ie_handle);
85101
prov_sc_destroy(prov_sc);
102+
platform_deinit();
86103

87104
return result;
88105
}

provisioning_service_client/samples/prov_sc_query_sample/CMakeLists.txt

+10
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ compileAsC99()
77

88
set(prov_sc_query_sample_c_files
99
prov_sc_query_sample.c
10+
../../../certs/certs.c
1011
)
1112

1213
set (prov_sc_query_sample_h_files
@@ -25,5 +26,14 @@ add_executable(prov_sc_query_sample ${prov_sc_query_sample_c_files} ${prov_sc_qu
2526
target_link_libraries(prov_sc_query_sample
2627
provisioning_service_client)
2728

29+
if(${use_openssl})
30+
add_definitions(-DUSE_OPENSSL)
31+
if (WIN32)
32+
target_link_libraries(prov_sc_query_sample $ENV{OpenSSLDir}/lib/ssleay32.lib $ENV{OpenSSLDir}/lib/libeay32.lib)
33+
file(COPY $ENV{OpenSSLDir}/bin/libeay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
34+
file(COPY $ENV{OpenSSLDir}/bin/ssleay32.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug)
35+
endif()
36+
endif()
37+
2838
linkSharedUtil(prov_sc_query_sample)
2939
linkUHTTP(prov_sc_query_sample)

provisioning_service_client/samples/prov_sc_query_sample/prov_sc_query_sample.c

+19-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,18 @@
66

77
#include "azure_c_shared_utility/platform.h"
88

9+
#include "../../../certs/certs.h"
10+
911
#include "provisioning_service_client.h"
1012

13+
static bool g_use_trace = true;
14+
15+
#ifdef USE_OPENSSL
16+
static bool g_use_certificate = true;
17+
#else
18+
static bool g_use_certificate = false;
19+
#endif //USE_OPENSSL
20+
1121
void print_ie_results(PROVISIONING_QUERY_RESPONSE* query_resp)
1222
{
1323
for (int i = 0; i < (int)query_resp->response_arr_size; i++)
@@ -30,7 +40,14 @@ int main()
3040
PROVISIONING_SERVICE_CLIENT_HANDLE prov_sc = prov_sc_create_from_connection_string(connectionString);
3141

3242
/* ---Optionally set connection options---*/
33-
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
43+
if (g_use_trace)
44+
{
45+
prov_sc_set_trace(prov_sc, TRACING_STATUS_ON);
46+
}
47+
if (g_use_certificate)
48+
{
49+
prov_sc_set_certificate(prov_sc, certificates);
50+
}
3451

3552
/* ---Set the Query Specification details for enrollments--- */
3653
PROVISIONING_QUERY_SPECIFICATION query_spec = { 0 };
@@ -55,6 +72,7 @@ int main()
5572
/* ---Cleanup memory---*/
5673
free(cont_token);
5774
prov_sc_destroy(prov_sc);
75+
platform_deinit();
5876

5977
return result;
6078
}

provisioning_service_client/samples/readme.md

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ In order to run the samples, you will first need to do the following:
1818

1919
* [Individual Enrollment](prov_sc_individual_enrollment_sample) - Create, update, get and delete Individual Enrollments on the Provisioning Service.
2020
* [Enrollment Group](prov_sc_enrollment_group_sample) - Create, update, get and delete Enrollment Groups on the Provisioning Service.
21+
* [Bulk Enrollment](prov_sc_bulk_operation_sample) - Run bulk enrollment operations for Individual Enrollments on the Provisioning Service.
22+
* [Query](prov_sc_query_sample) - Run a query operation on the Provisioning Service
2123

2224
[setup-iot-hub]: https://aka.ms/howtocreateazureiothub
2325
[setup-provisioning-service]: https://docs.microsoft.com/en-us/azure/iot-dps/quick-setup-auto-provision

0 commit comments

Comments
 (0)