6.4 Get Locking Key
Most developers do not need to use this function, and should instead rely on appropriate lock/unlock methods for encrypting and decrypting all data. This is meant only for highly advanced use-cases where the developer needs to use some custom encryption algorithm and/or explicitly add/validate signatures on some special piece of data or stream which can’t be easily passed to standard lock/unlock methods. In this case, the keys returned by this function should be used very carefully for a single object or stream, and then destroyed immediately after encryption/decryption or signature generation/verification is done.
The getLockingKey function of BayunCore class returns locking key along with the keys for signature generation and signature verification for an encryption policy. 
The function takes the following parameters :
- encryptionPolicy : BayunEncryptionPolicy determines the key to be used to generate the lockingKey. 
- keyGenerationPolicy : BayunKeyGenerationPolicy determine the policy to be used to generate the lockingKey. 
- groupId : GroupId is required if encryptionPolicy is - BayunEncryptionPolicyGroup. If encryption-policy is other than- BayunEncryptionPolicyGroupthen groupId should be empty string.
import com.bayun_module.LockingKeys
int encryptionPolicy =encryptionPolicy;         //bayunCore.ENCRYPTION_POLICY_DEFAULT
int keyGenerationPolicy =keyGenerationPolicy;    //bayunCore.KEY_GENERATION_POLICY_STATIC
String groupId = "<groupId>";
LockingKeys lockingKeys = bayunCore.getLockingKey(encryptionPolicy, keyGenerationPolicy, groupId);
 import com.bayun_module.LockingKeys
 
 val encryptionPolicy:Int =encryptionPolicy         //bayunCore.ENCRYPTION_POLICY_DEFAULT
 val keyGenerationPolicy:Int =keyGenerationPolicy    //bayunCore.KEY_GENERATION_POLICY_STATIC
 val groupId = "groupId"
 
 var lockingKeys :LockingKeys= bayunCore.getLockingKey(encryptionPolicy, keyGenerationPolicy, groupId)The getLockingKey function returns a struct LockingKeys.
public class LockingKeys {
    public String key;//Locking Key
    public String signatureKey; //Private Key to be used for signature generation
    public String signatureVerificationKey; //Private Key to be used for signature generation
}class LockingKeys {
            var key : String? = null //Locking Key
            var signatureKey : String? = null  //Private Key to be used for signature generation
            var signatureVerificationKey : String? = null  //Private Key to be used for signature generation
        }Last updated
Was this helpful?