SignalComキーをOpenSSLにエクスポートする

あなたのタスクは、GOSTに従って動作し、「Crypto-COMを介してのみ」動作するリモートサービスと統合することであり、OpenSSLをgostで使用したいですか? Signal-COMフォーラムで、「Crypto-COM形式のキーをOpenSSL-guest互換形式に変換できない」というメッセージが山ほど表示されていますか? 実際、変換は可能です。


tl; dr: http : //gostcrypto.com/demo-sc-keys.html


既存のキーをプロプライエタリ形式からオーソドックス形式に変換する方法は?


私は妄想ではありません


http://gostcrypto.com/demo-sc-keys.htmlにアクセスし、「mk.db3」、「masks.db3」、「kek.opq」、「rand.opq」などのコンテナファイルと秘密キーファイルを指定します。 「Keys \ 00000001.key」と入力し、「Export PrivateKey」ボタンをクリックします。


gostcrypto.comの現在のバージョンでは、キーは完全にPEM互換ではありません。 64文字を超える長さを使用します。


-----BEGIN PRIVATE KEY----- MEYCAQAwHQYGKoUDAgITMBMGByqFAwICIwEGCCqFAwcBAQICBCIEIG0GEmE3dhrHzm1KfFDpKBWEmMydwcmP0hNKvXXbEbLO -----END PRIVATE KEY----- 

PEM互換にするには、64文字の後に新しい行を追加するだけです。


 -----BEGIN PRIVATE KEY----- MEYCAQAwHQYGKoUDAgITMBMGByqFAwICIwEGCCqFAwcBAQICBCIEIG0GEmE3dhrH zm1KfFDpKBWEmMydwcmP0hNKvXXbEbLO -----END PRIVATE KEY----- 

私は妄想している、またはCLIバージョンが欲しい


この記事の公開時点では、gostcryptoはノード固定ではなく、プールリクエストでそのノード固定が試行されています。 PEM互換形式へのエクスポート用のcliユーティリティもあります。


それを置いて、キーをエクスポートしようとします:


 sudo npm install -g https://github.com/garex/nodejs-gost-crypto/archive/nodefy.tar.gz cd /tmp wget https://www.contact-sys.com/files/redactor/files/TestContactKey.zip unzip TestContactKey.zip -d TestContactKey gost-export-signalcom-key --pse TestContactKey --key Keys/00000001.key 

その結果、STDOUTになります。


 -----BEGIN PRIVATE KEY----- MEYCAQAwHQYGKoUDAgITMBMGByqFAwICIwEGCCqFAwcBAQICBCIEIG0GEmE3dhrH zm1KfFDpKBWEmMydwcmP0hNKvXXbEbLO -----END PRIVATE KEY----- 

そしてSTDERRでは:


 OK: Private SignalCom key successfully exported in STDOUT in "PEM" format. 


Source: https://habr.com/ru/post/J317406/


All Articles