metact

package module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2024 License: MIT Imports: 8 Imported by: 1

README

meta-ct

Go Go Reference

This is a library to monitor CT(Certificate Transparency) monitor library via Meta's service.

This library supports:

To use this library, you must create a Meta App and then obtain the App Id and Acess Token.

Documentation

Index

Constants

View Source
const (
	SUBSCRIBED_DOMAINS_API = API_BASE + "/%v/subscribed_domains"
	CERTFICATES_API        = API_BASE + "/certificates"
)
View Source
const API_BASE = "https://graph.facebook.com"

Variables

View Source
var ALL_CERTIFICATE_FIELDS = []string{
	"authority_key_identifier",
	"basic_constraints",
	"cert_hash_md5",
	"cert_hash_sha1",
	"cert_hash_sha256",
	"certificate_pem",
	"domains",
	"extended_key_usage",
	"extensions",
	"issuer_name",
	"key_usage",
	"not_valid_after",
	"not_valid_before",
	"public_key_algorithm",
	"public_key_hash_sha256",
	"public_key_pem",
	"public_key_size",
	"public_key_values",
	"serial_number",
	"signature_algorithm",
	"signature_value",
	"subject_key_identifier",
	"subject_name",
	"version",
}

Functions

This section is empty.

Types

type Certificate

type Certificate struct {
	Id                     string     `json:"id,omitempty"`
	AuthorityKeyIdentifier string     `json:"authority_key_identifier,omitempty"`
	BasicConstraints       string     `json:"basic_constraints,omitempty"`
	CertHashMd5            string     `json:"cert_hash_md5,omitempty"`
	CertHashSha1           string     `json:"cert_hash_sha1,omitempty"`
	CertHashSha256         string     `json:"cert_hash_sha256,omitempty"`
	CertificatePem         string     `json:"certificate_pem,omitempty"`
	Domains                []string   `json:"domains,omitempty"`
	ExtendedKeyUsage       string     `json:"extended_key_usage,omitempty"`
	Extensions             []KeyValue `json:"extensions,omitempty"`
	IssuerName             string     `json:"issuer_name,omitempty"`
	KeyUsage               string     `json:"key_usage,omitempty"`
	NotValidAfter          string     `json:"not_valid_after,omitempty"`
	NotValidBefore         string     `json:"not_valid_before,omitempty"`
	PublicKeyAlgorithm     string     `json:"public_key_algorithm,omitempty"`
	PublicKeyHashSha256    string     `json:"public_key_hash_sha256,omitempty"`
	PublicKeyPem           string     `json:"public_key_pem,omitempty"`
	PublicKeySize          int        `json:"public_key_size,omitempty"`
	PublicKeyValues        []KeyValue `json:"public_key_values,omitempty"`
	SerialNumber           string     `json:"serial_number,omitempty"`
	SignatureAlgorithm     string     `json:"signature_algorithm,omitempty"`
	SignatureValue         string     `json:"signature_value,omitempty"`
	SubjectKeyIdentifier   string     `json:"subject_key_identifier,omitempty"`
	SubjectName            string     `json:"subject_name,omitempty"`
	Version                int        `json:"version,omitempty"`
}

type CertificatesResp

type CertificatesResp struct {
	Data   []Certificate `json:"data"`
	Paging `json:"paging"`
}

type KeyValue

type KeyValue struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type MetaCT

type MetaCT struct {
	AppId       string
	AccessToken string
}

func NewCT

func NewCT(appId string, accessToken string) *MetaCT

func (*MetaCT) Certificates

func (ct *MetaCT) Certificates(query string, fields []string) (*CertificatesResp, error)

func (*MetaCT) Subscribe

func (ct *MetaCT) Subscribe(domain string) error

func (*MetaCT) SubscribeList

func (ct *MetaCT) SubscribeList() (*SubscribeListResp, error)

func (*MetaCT) Unsubscribe

func (ct *MetaCT) Unsubscribe(domain string) error

func (*MetaCT) WebHookCertificates added in v0.0.2

func (ct *MetaCT) WebHookCertificates(c echo.Context) ([]Certificate, error)

type Notification added in v0.0.2

type Notification struct {
	Entry []struct {
		ID      string `json:"id"`
		Time    int    `json:"time"`
		Changes []struct {
			Field string      `json:"field"`
			Value Certificate `json:"value"`
		} `json:"changes"`
	} `json:"entry"`
	Object string `json:"object"`
}

type Paging

type Paging struct {
	Cursors struct {
		Before string `json:"before"`
		After  string `json:"after"`
	} `json:"causers"`
}

type SubscribeListResp

type SubscribeListResp struct {
	Data []struct {
		Id     string `json:"id"`
		Domain string `json:"domain"`
	} `json:"data"`
	Paging `json:"paging"`
}

type SubscribeResp

type SubscribeResp struct {
	Success bool `json:"success"`
}

Directories

Path Synopsis
example module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL