Поддерживает ли LoadKeyStore() несколько клиентов?

Салем. Для нас нужно было использовать два ключа для подписи, и так как LoadKeyStore() хранит в себе только один ключ мы создали два клиента kalkan(1 клиент = 1 ключ). В этих двух клиентах мы вызываем LoadKeyStore() при инициализации отдельно. Но по итогу получается что клиент который вызвал LoadKeyStore последним, тот ключ и остается на двух клиентах. Это из-за того что нельзя дробить kalkan на два клиента? И по итогу все равно библиотека одна, хоть и оберток клиентом было два?

Сәлем! Что здесь имеется в виду под клиент?

Под клиентом имелось ввиду обертка которая инициализирует библиотеку kalkan.

Например если нужно подключиться к двум БД, обычно все используют две клиент обертки под разные БД. И потом в зависимости от задачи обращаются к одному из клиентов чтобы он отправил запрос в БД. (1 клиент = 1 БД)

Хотел тут сделать так же. Например инициализировать один клиент под бухгалтерию с его ключем, и второй клиент нотариус с его ключем. Вот псевдокод пример:

accountantKalkanClient, err := kalkan.NewProductionClient(logger)
accountantKalkanClient.LoadKeyStore("ключ accountant")

notaryKalkanClient, err := kalkan.NewProductionClient(logger)
notaryKalkanClient.LoadKeyStore("ключ notary")

И тут по итогу получается проблема, ключ остается у обоих клиентов тот который последний раз вызвался через LoadKeyStore(). Видимо сколько оберток делай не важно, если они все всеравно обращаются к одной библиотеке kalkan SDK (libkalkancryptwr-64.so), и он по итогу видимо просто перезаписывается.

Тогда, да, один ключ только загружает одновременно

1 Симпатия