Adding chained items to parent object in certstream
This commit is contained in:
parent
c2b59808be
commit
a321b46d0f
|
@ -25,7 +25,7 @@ func BuildNode(flag string, dataType string, data string) *Node {
|
|||
|
||||
// BuildCertNode builds a custom node based on CertStream.
|
||||
func BuildCertNode(rawNode *CertStreamWrapper) *CertNode {
|
||||
return &CertNode{
|
||||
main := &CertNode{
|
||||
ID: "certstream--" + uuid.New().String(),
|
||||
Fingerprint: rawNode.Data.Data.LeafCert.Fingerprint,
|
||||
NotBefore: time.Unix(int64(rawNode.Data.Data.LeafCert.NotBefore), 0).Format(time.RFC3339),
|
||||
|
@ -35,19 +35,38 @@ func BuildCertNode(rawNode *CertStreamWrapper) *CertNode {
|
|||
BasicConstraints: rawNode.Data.Data.LeafCert.Extensions.BasicConstrains,
|
||||
RawUUID: rawNode.ID,
|
||||
}
|
||||
|
||||
var res []CertNode
|
||||
if len(rawNode.Data.Data.Chain) > 0 {
|
||||
chain := CertNode{
|
||||
ID: "certstream--" + uuid.New().String(),
|
||||
Fingerprint: rawNode.Data.Data.LeafCert.Fingerprint,
|
||||
NotBefore: time.Unix(int64(rawNode.Data.Data.LeafCert.NotBefore), 0).Format(time.RFC3339),
|
||||
NotAfter: time.Unix(int64(rawNode.Data.Data.LeafCert.NotAfter), 0).Format(time.RFC3339),
|
||||
CN: rawNode.Data.Data.LeafCert.Subject.CN,
|
||||
SourceName: rawNode.Data.Data.Source.Name,
|
||||
BasicConstraints: rawNode.Data.Data.LeafCert.Extensions.BasicConstrains,
|
||||
RawUUID: rawNode.ID,
|
||||
}
|
||||
res = append(res, chain)
|
||||
}
|
||||
main.Chain = res
|
||||
|
||||
return main
|
||||
}
|
||||
|
||||
// CertNode represents our custom struct of data extraction from CertStream.
|
||||
type CertNode struct {
|
||||
ID string `json:"id"`
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
NotBefore string `json:"notBefore"`
|
||||
NotAfter string `json:"notAfter"`
|
||||
CN string `json:"cn"`
|
||||
SourceName string `json:"sourceName"`
|
||||
SerialNumber string `json:"serialNumber"`
|
||||
BasicConstraints string `json:"basicConstraints"`
|
||||
RawUUID string `json:"rawUUID"`
|
||||
ID string `json:"id"`
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
NotBefore string `json:"notBefore"`
|
||||
NotAfter string `json:"notAfter"`
|
||||
CN string `json:"cn"`
|
||||
SourceName string `json:"sourceName"`
|
||||
SerialNumber string `json:"serialNumber"`
|
||||
BasicConstraints string `json:"basicConstraints"`
|
||||
RawUUID string `json:"rawUUID"`
|
||||
Chain []CertNode `json:"chainedTo"`
|
||||
}
|
||||
|
||||
// WrapCertStreamData is a wrapper around CertStreamStruct.
|
||||
|
|
Loading…
Reference in a new issue