Either you need to perform pairing process in your App.
Or in your PSoC Creator firmware in the BLE Component Sttings, navigate to the particular characteristics and Change the settings as "No authorization / No encryption
From what I've read, BlueZ should be doing the pairing but it doesn't. I'm not sure if this is an issue with BlueZ or something unique to the BLE component. I was hoping that someone had some experience in the Linux world and could tell me if this should be working or not.
I am currently trying to develop a Linux program to work with CYBLE modules. I started by modifiing gatttool source code. It is a painstaking process since there is no good document about BlueZ/HCI APIs. After I traced lots of code used by gatttool, I do not think there is a pairing feature in gatttool but I may be wrong. If you want to pair with a BLE device, I believe you have to use bluetoothctl program to pair with a device first before using gatttool.