1 /* *****************************************************************
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 * *****************************************************************/
21 #ifndef PM_CREDENTIAL_GENERATOR_H
22 #define PM_CREDENTIAL_GENERATOR_H
25 #include "securevirtualresourcetypes.h"
28 * Function to generate credentials according to the type.
30 * @param[in] type Type of credential.
31 * @param[in] keysize size of key.
32 * @param[in] ptDeviceId Device ID of provisioning tool.
33 * @param[in] firstDeviceId DeviceID of the first device.
34 * @param[in] secondDeviceId DeviceID of the second device.
35 * @param[out] firstCred Generated credential for first device.
36 * @param[out] secondCred Generated credential for second device.
37 * @return OC_STACK_OK on success
39 OCStackResult PMGeneratePairWiseCredentials(OicSecCredType_t type, size_t keySize,
40 const OicUuid_t *ptDeviceId,
41 const OicUuid_t *firstDeviceId,
42 const OicUuid_t *secondDeviceId,
43 OicSecCred_t **firstCred,
44 OicSecCred_t **secondCred);
47 * Function to generate certificate credentials.
49 * @param[in] ptDeviceId Device ID of provisioning tool.
50 * @param[in] deviceId DeviceID of the device.
51 * @param[out] cred Generated credential for device.
52 * @return OC_STACK_OK on success
54 OCStackResult PMGenerateCertificateCredentials(const OicUuid_t *ptDeviceId,
55 const OicUuid_t *deviceId, OicSecCred_t **cred);
60 #endif //PM_CREDENTIAL_GENERATOR_H