func (s *ServerKeyStore) GetServerDecryptionPrivateKey(clientID []byte) (*keys.PrivateKey, error) {
	log := s.log.WithField("clientID", clientID)
	ring, err := s.OpenKeyRing(s.clientStorageKeyPairPath(clientID))
	if err != nil {
		log.WithError(err).Debug("failed to open storage key ring for client")
		return nil, err
	}
	privateKey, err := s.currentPairPrivateKey(ring)
	if err != nil {
		log.WithError(err).Debug("failed to get current storage private key for client")
		return nil, err
	}
	return privateKey, nil
}
PrivateKeyStore interface (clients)

GetServerDecryptionPrivateKey retrieves private key used to decrypt data by given client.
package keystore
import (
	"path/filepath"
	"github.com/cossacklabs/themis/gothemis/keys"
)
func (s *ServerKeyStore) GetClientIDEncryptionPublicKey(clientID []byte) (*keys.PublicKey, error) {
	log := s.log.WithField("clientID", clientID)
	ring, err := s.OpenKeyRing(s.clientStorageKeyPairPath(clientID))
	if err != nil {
		log.WithError(err).Debug("failed to open storage key ring for client")
		return nil, err
	}
	publicKey, err := s.currentPairPublicKey(ring)
	if err != nil {
		log.WithError(err).Debug("failed to get current storage public key for client")
		return nil, err
	}
	return publicKey, nil
}