golang gmssl がコンパイルに失敗する
以前に ubuntu で openssl-1.0.2k をクロスコンパイルし、次のスクリプトを使用して実装しました: #./config --prefix=/opt/openssl --cross-compile-prefix=arm-linux-gnueabihf- no-asm shared
sed -i "s/ -m64//g" Makefile
make
make install
すべての開発環境は svn を通じて制御されます。そのため、config を使用して Makefile ファイルを生成した後、arm コンパイラがサポートしていない m64 オプションをスクリプトを使用して自動的に削除します。 同じ方法を使用して gmssl をコンパイルした後、デバイス上で秘密キーを生成するときにランタイム エラーが発生し、openssl-1.1.1 プレビュー バージョンはコンパイル後に応答を停止します。
多くの調査を行った結果、最終的にその理由が見つかりました。ターゲット プラットフォームの構成には Configure を使用する必要があります。新しいコンパイル スクリプトは次のとおりです:
./Configure --prefix=/opt/openssl --cross-compile-prefix=arm-linux-gnueabihf- no-asm shared linux-armv4 make make install
ARM デバイスであるため、ターゲット プラットフォームはここでは linux-armv4 として構成されています。他のプラットフォームのコンパイル方法も同様です。./Configure --help を使用して、サポートされているすべてのプラットフォームを表示します。
また、arm プラットフォームを指定する場合、サポートされていない m64 オプションは Makefile に表示されないため、削除する必要はありません。
新しいコンパイル方法を使用した後は、gmssl と openssl-1.1.1 の両方が arm デバイスで正常に動作できるようになります。
GmSSL-Go は、GmSSL ライブラリの Go 言語インターフェイス バインディングです。
暗号アルゴリズム、X.509 証明書、SSL プロトコル、Go 言語アプリケーション用エンジンなどの機能を提供します。 。GmSSL-Go は、CGO を使用して、GmSSL の高レベル インターフェイスを Go 言語コンポーネントとしてカプセル化します。これは、GmSSL ライブラリと疎結合された軽量の中間層です。すべての暗号化機能は、基盤となるGmSSLライブラリが提供されています。
GmSSL-Go を使用する理由Go 言語の公式ライブラリには、一般的に使用される暗号アルゴリズム パッケージと SSL プロトコル パッケージが用意されていますが、サードパーティ製の純粋な Go もいくつかあります。プロジェクトに GmSSL-Go を統合した暗号通貨ライブラリには、依然として多くのかけがえのない利点があります: GmSSL-Go は、基礎となる GmSSL ライブラリを通じて各国の暗号化アルゴリズム、証明書、および SSL プロトコルを完全かつ豊富にサポートします。
GmSSL-Go は、国家暗号化標準を満たす U シールドや PCI-E 暗号化カードなどの国内ハードウェア暗号化デバイスを満たすエンジン オブジェクトを通じて、システムのセキュリティ、可用性、パスワード コンプライアンスを提供できます。
GmSSL-Go は、CGO メソッドを使用して GmSSL ライブラリの暗号アルゴリズム実装を呼び出します。純粋な Go 言語実装と比較して、暗号アルゴリズムのパフォーマンス上の利点があります。GmSSL ベンチマークを参照してください。
GmSSL-Go の機能とパフォーマンスは、GmSSL のアップグレードとともに継続的に改善されています。
以上がgolang gmssl がコンパイルに失敗するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Golangは並行性がCよりも優れていますが、Cは生の速度ではGolangよりも優れています。 1)Golangは、GoroutineとChannelを通じて効率的な並行性を達成します。これは、多数の同時タスクの処理に適しています。 2)Cコンパイラの最適化と標準ライブラリを介して、極端な最適化を必要とするアプリケーションに適したハードウェアに近い高性能を提供します。

GolangisidealforBuildingsCalables Systemsduetoitsefficiency andConcurrency、Whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityand vastecosystem.golang'ssignencouragesclean、readisinediteNeditinesinedinediseNabletinedinedinedisedisedioncourase

Golangを選択する理由には、1)高い並行性パフォーマンス、2)静的タイプシステム、3)ガベージ収集メカニズム、4)豊富な標準ライブラリとエコシステムは、効率的で信頼できるソフトウェアを開発するための理想的な選択肢となります。

統合されたservicesと統合されたpothonistoninfrastructure、userestapisorgrpcforinter-servicecommunication、goandpythonappstoStoStosandizedprotocols.1.userestapis(Frameworkslikeginingoand flaskinpython)またはuserestapisを許可します

Docker画像のボリュームを減らす方法は次のとおりです。1。.dockerignoreファイルを使用して、不要なファイルを除外します。 2。高山版などの合理化された基本画像を選択します。 3. dockerfileを最適化し、実行するコマンドをマージし、-no-cacheオプションを使用します。 4.マルチステージ構造を使用して、最終的に必要なファイルのみをコピーします。 5.依存バージョンを管理し、使用されなくなった依存関係を定期的にクリーンアップします。これらの方法は、画像量を減らすだけでなく、アプリケーションの起動速度と操作効率を向上させます。

DebianにGolang環境を設定する場合、システムセキュリティを確保することが重要です。安全なGolang開発環境を構築するのに役立つ重要なセキュリティセットアップの手順と提案を次に示します。セキュリティセットアップステップシステムの更新:Golangをインストールする前にシステムが最新であることを確認してください。次のコマンドを使用して、システムパッケージリストとインストールパッケージを更新します。sudoaptupdatesudoaptupgrade-yファイアウォール構成:システムへのアクセスを制限するためにファイアウォール(iptablesなど)をインストールして構成します。必要なポート(HTTP、HTTPS、SSHなど)のみが許可されます。 sudoaptininstalliptablessud

Golangofferssuperiorporformance、nativeconconcurrencyviagoroutines、および効率的なresourceusage、makingitidealforhigh-raffic、low-latencyapis;

DebianシステムでGolangのネットワークパラメーターを調整することは、さまざまな方法で実現できます。以下はいくつかの実行可能な方法です。方法1:環境変数を設定することにより、環境変数を一時的に設定します。端末に次のコマンドを入力して、環境変数を一時的に設定します。この設定は、現在のセッションでのみ有効です。 ExportGodeBug = "GCTRACE = 1NETDNS = GO" GCTRACE = 1はガベージコレクション追跡をアクティブにし、NetDNS = GOはシステムのデフォルトではなく独自のDNSリゾルバーを使用します。環境変数を永続的に設定します:〜/.bashrcや〜/.profileなどのシェル構成ファイルに上記のコマンドを追加します
