ホームページ バックエンド開発 Golang golang gmssl がコンパイルに失敗する

golang gmssl がコンパイルに失敗する

Dec 16, 2019 pm 03:37 PM
golang

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Golang and C:Concurrency vs. Raw Speed Golang and C:Concurrency vs. Raw Speed Apr 21, 2025 am 12:16 AM

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

Golang vs. Python:長所と短所 Golang vs. Python:長所と短所 Apr 21, 2025 am 12:17 AM

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

なぜゴランを使うのですか?説明された利点と利点が説明されています なぜゴランを使うのですか?説明された利点と利点が説明されています Apr 21, 2025 am 12:15 AM

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

Golangサービスを既存のPythonインフラストラクチャと統合するための戦略 Golangサービスを既存のPythonインフラストラクチャと統合するための戦略 Jul 02, 2025 pm 04:39 PM

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

Dockerの画像量を減らすためのベストプラクティスとヒント Dockerの画像量を減らすためのベストプラクティスとヒント May 19, 2025 pm 08:42 PM

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

DebianのGolangのセキュリティ設定 DebianのGolangのセキュリティ設定 May 16, 2025 pm 01:15 PM

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

Web APIのGolangとPythonのパフォーマンスの違いを理解する Web APIのGolangとPythonのパフォーマンスの違いを理解する Jul 03, 2025 am 02:40 AM

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

DebianでGolangネットワークパラメーターを構成する方法 DebianでGolangネットワークパラメーターを構成する方法 May 16, 2025 pm 01:06 PM

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

See all articles