diff --git a/ethcrypto/key_manager.go b/ethcrypto/key_manager.go
index dcbc7b77e29b33f30e07d9652ee60d4bd1433e94..066a62aabbef326acd1a4a5ed3914e074a71d633 100644
--- a/ethcrypto/key_manager.go
+++ b/ethcrypto/key_manager.go
@@ -115,6 +115,14 @@ func (k *KeyManager) InitFromSecretsFile(session string, cursor int, secretsfile
 	return k.reset(session, cursor, keyRing)
 }
 
+func (k *KeyManager) InitFromString(session string, cursor int, secrets string) error {
+	keyRing, err := NewKeyRingFromString(secrets)
+	if err != nil {
+		return err
+	}
+	return k.reset(session, cursor, keyRing)
+}
+
 func (k *KeyManager) Export(dir string) error {
 	fileKeyStore := FileKeyStore{dir}
 	return fileKeyStore.Save(k.session, k.keyRing)