golang配置證書,golang 環境搭建

本文目錄一覽:

golang x509的Certificate.Verify函數

周末在家無趣,研究了一個golang裡面的Certificate.Verify函數。

golang的官方定義在這裡:

函數原型聲明如下:

func (c Certificate) Verify(opts VerifyOptions) (chains [][] Certificate, err error)

其中:

這個函數的功能是:

Verify attempts to verify c by building one or more chains from c to a certificate in opts.Roots, using certificates in opts.Intermediates if needed. If successful, it returns one or more chains where the first element of the chain is c and the last element is from opts.Roots.

If opts.Roots is nil and system roots are unavailable the returned error will be of type SystemRootsError.

解釋一下就是:

舉一個例子:

假設存在證書鏈簽出關係:C1 – C2 – C3 – C4,即C1簽出C2,C2簽出C3,C3簽出C4;現在使用函數:

我們根據Intermediates和Roots的值不同,比較輸出結果:

通過Go語言創建CA與簽發證書

本篇文章中,將描述如何使用go創建CA,並使用CA簽署證書。在使用openssl創建證書時,遵循的步驟是 創建秘鑰 創建CA 生成要頒發證書的秘鑰 使用CA簽發證書。這種步驟,那麼我們現在就來嘗試下。

首先,會從將從創建 CA 開始。 CA 會被用來簽署其他證書

接下來需要對證書生成公鑰和私鑰

然後生成證書:

我們看到的證書內容是PEM編碼後的,現在 caBytes 我們有了生成的證書,我們將其進行 PEM 編碼以供以後使用:

證書的 x509.Certificate 與CA的 x509.Certificate 屬性有稍微不同,需要進行一些修改

為該證書創建私鑰和公鑰:

有了上述的內容後,可以創建證書並用CA進行簽名

要保存成證書格式需要做PEM編碼

創建一個 ca.go 裡面是創建ca和頒發證書的邏輯

如果需要使用的話,可以引用這些函數

panic: x509: unsupported public key type: rsa.PublicKey

這裡是因為 x509.CreateCertificate 的參數 privatekey 需要傳入引用變數,而傳入的是一個普通變數

extendedKeyUsage :增強型密鑰用法(參見”new_oids”欄位):伺服器身份驗證、客戶端身份驗證、時間戳。

keyUsage : 密鑰用法,防否認(nonRepudiation)、數字簽名(digitalSignature)、密鑰加密(keyEncipherment)。

文章來自

golang私有倉庫依賴配置

golang私有倉庫依賴配置

    版本要求:go 1.14+

    go mod 配置:

        go env -w GOPRIVATE=”gitlab.xxx.com”    //配置私有倉庫域名 :重要

        go env -w GONOPROXY=”gitlab.xxx.com”    //此配置下的域名默認不走代理

        go env -w GONOSUMDB=”gitlab.xxx.com”    //此配置下的域名默認不進行gosumdb校驗

        go env -w GOINSECURE=”gitlab.xxx.com”    //此配置下的域名默認採用http協議 。有些公司的私有倉庫採用http協議,而go mod默認採用                                                                                       https,請根據實際情況進行配置:重要

    賬戶及密碼:

        因私有倉庫一般都需要進行登錄,所以可以通過隱藏文件進行用戶名及密碼配置。

        文件路徑:~/.netrc    //默認Linux系統,

        文件內容:

            machine 域名    //gitlab.xxx.com

            login 賬號

            password 密碼

golang 應該怎麼寫配置文件

在項目開始之前,先根據大概業務設計日誌系統。

一個好的日誌系統在項目維護時非常重要。

我的日誌系統中的內容:

時間戳

日誌調用地點:文件+行號

報錯級別 致命 錯誤 警告 信息 調試

Summary

關鍵內存Dump

這些信息方便排查故障。

配置文件:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239443.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:16
下一篇 2024-12-12 12:16

相關推薦

  • 使用Golang調用Python

    在現代軟體開發中,多種編程語言的協作是相當普遍的。其中一種使用場景是Golang調用Python,這使得在使用Python庫的同時,可以利用Golang的高性能和強大並發能力。這篇…

    編程 2025-04-29
  • 如何部署一個服務到一個環境

    本文將從多個方面對如何部署一個服務到一個環境進行詳細的闡述,包括環境準備、代碼編寫、打包部署等。 一、環境準備 1、確定部署環境的操作系統版本、運行時環境(如JDK、Node.js…

    編程 2025-04-29
  • Python開發環境包括

    Python作為一門高效、易讀易學的語言,已經被越來越多的開發者使用。而Python的開發環境也發展得越來越完善。本文將會從以下幾個方面對Python開發環境包括做詳細的闡述: 一…

    編程 2025-04-29
  • 內核驅動編譯環境代價分析

    內核驅動編譯環境是在Linux系統中編譯內核模塊的過程。本文通過分析內核驅動編譯環境的各個方面,包括編譯工具的選擇、編譯速度、編譯器選項等,來探討其代價所在,並提供一些優化的建議。…

    編程 2025-04-29
  • 使用Golang創建黑色背景圖片的方法

    本文將從多個方面介紹使用Golang創建黑色背景圖片的方法。 一、安裝必要的代碼庫和工具 在開始創建黑色背景圖片之前,我們需要先安裝必要的代碼庫和工具: go get -u git…

    編程 2025-04-29
  • 如何使用cmd激活python虛擬環境

    Python虛擬環境是Python用來隔離項目所需包和依賴庫的工具,以免不同項目之間的依賴關係衝突。下面將從安裝虛擬環境、創建虛擬環境、激活虛擬環境這3個方面來詳細講解如何在cmd…

    編程 2025-04-28
  • Apache配置Python環境

    Apache是一款流行的Web伺服器軟體,事實上,很多時候我們需要在Web伺服器上使用Python程序做為數據處理和前端網頁開發語言,這時候,我們就需要在Apache中配置Pyth…

    編程 2025-04-28
  • Ubuntu系統激活Python環境

    本文將從以下幾個方面詳細介紹在Ubuntu系統中如何激活Python環境: 一、安裝Python 在Ubuntu系統中默認已經預裝了Python解釋器,可以通過以下命令來檢查: $…

    編程 2025-04-28
  • 如何優雅地排版套打證書

    本文將從多個方面,為大家介紹如何優雅地排版套打證書,並給出相應的代碼示例。 一、選擇合適的字體 套打證書的字體必須要優雅、大方、優秀、清晰,所以應該選擇像宋體、楷體、方正、微軟雅黑…

    編程 2025-04-28
  • TFN MR56:高效可靠的網路環境管理工具

    本文將從多個方面深入闡述TFN MR56的作用、特點、使用方法以及優點,為讀者全面介紹這一高效可靠的網路環境管理工具。 一、簡介 TFN MR56是一款多功能的網路環境管理工具,可…

    編程 2025-04-27

發表回復

登錄後才能評論