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.
      
      






All Articles