Fidelius CLI: A complete end-to-end cryptography solution

Hello everyone.

We, at Hitachi MGRM NET, have created an end-to-end (ECDH) cryptography CLI tool which can be integrated into your tech stack for encrypting/decrypting FHIR data.

The core logic for Fidelius CLI has been excerpted from (and improved upon) this SpringBoot project (with the same name, which has been used in some form, in the webinar demos).

A few of the core improvements include:

  • A CLI implementation, which can be easily integrated into any tech stack without much overhead
  • An expansive, well thought-out set of APIs
  • The encryption/decryption commands also accept public keys in X509 format

The latest Fidelius CLI release (v1.2.0 as of this writing) can be downloaded from here — https://github.com/mgrmtech/fidelius-cli/releases

You can also find example integrations with NodeJS, Python, and PHP; in the ./examples folder inside the repo.

We also have a short video demonstrating Fidelius CLI’s usage in the context of a HIP.

Hope this helps.

Please use the Issues section, if you face any issues with usage; we will do our best to address them.

Thank you, and please do star the repo.

6 Likes

I had tried to install the Fidelius CLI 1.2.0V but i am getting some error, is there any Prerequisites software’s required to install?

As mentioned in the project’s README, Java Runtime Environment is a prerequisite.

Specifically, JRE 1.8+ (also called JRE 8; 8 is the version number, and 1.8 is the version string).

You can download it from here: https://www.java.com/en/download/manual.jsp

Unfortunately, the YouTube video and its corresponding link included in the original post are no longer available.

We have re-uploaded the video below.

Dear @saiki we cannot see the videio
please reshare

Hi, I have shared the new link in one of my replies above. Here it is, again: https://www.youtube.com/watch?v=iDcCP9h5hZs

Hi, I tried to run the Python version given in the repo and I am getting this error: Traceback (most recent call last):
File “D:\ABDM\fidelius-cli-main\examples\python\main.py”, line 132, in
main()
File “D:\ABDM\fidelius-cli-main\examples\python\main.py”, line 128, in main
runExample(stringToEncrypt)
File “D:\ABDM\fidelius-cli-main\examples\python\main.py”, line 76, in runExample
requesterKeyMaterial = getEcdhKeyMaterial()
File “D:\ABDM\fidelius-cli-main\examples\python\main.py”, line 29, in getEcdhKeyMaterial
result = execFideliusCli([‘gkm’])
File “D:\ABDM\fidelius-cli-main\examples\python\main.py”, line 17, in execFideliusCli
result = subprocess.run(
File “C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\subprocess.py”, line 501, in run
with Popen(*popenargs, **kwargs) as process:
File “C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\subprocess.py”, line 969, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File “C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\subprocess.py”, line 1438, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
OSError: [WinError 193] %1 is not a valid Win32 application How do I solve this error and run the code?

@adityank11
Maybe issue with the path you specified for ‘FIDELIUS_CLI_PATH’
It should be till the actual file inside the bin. Below example is for ubuntu

/home/test/abdm/fidelius-cli-1.2.0/bin/fidelius-cli

@saiki,
This is a great library and very useful. Can you please guide us in converting the decrypted data from string of ordereddict to json?
Thanks.
Arpit

@saiki @IntegrationSupport
getting below error on encryption please help