Files
go-xmlsec/xmlenc/xmlenc.go
2016-12-29 11:13:34 -05:00

65 lines
2.4 KiB
Go

// Package xmlenc implements xml encrytion natively
// (https://www.w3.org/TR/2002/REC-xmlenc-core-20021210/Overview.html)
package xmlenc
import "encoding/xml"
type EncryptedData struct {
XMLName xml.Name `xml:"http://www.w3.org/2001/04/xmlenc# EncryptedData"`
ID *string `xml:"Id,attr"`
Type *string `xml:",attr"`
EncryptionMethod *EncryptionMethod `xml:"http://www.w3.org/2001/04/xmlenc# EncryptionMethod"`
KeyInfo *KeyInfo `xml:"http://www.w3.org/2000/09/xmldsig# KeyInfo"`
CipherData *CipherData `xml:"http://www.w3.org/2001/04/xmlenc# CipherData"`
}
type EncryptionMethod struct {
XMLName xml.Name `xml:"http://www.w3.org/2001/04/xmlenc# EncryptionMethod"`
Algorithm *string `xml:",attr"`
OAEPparams *OAEPparams `xml:"http://www.w3.org/2001/04/xmlenc# OAEPparams"`
DigestMethod *DigestMethod `xml:"http://www.w3.org/2000/09/xmldsig# DigestMethod"`
}
type DigestMethod struct {
XMLName xml.Name `xml:"http://www.w3.org/2000/09/xmldsig# DigestMethod"`
Algorithm string `xml:",attr"`
}
type OAEPparams struct {
XMLName xml.Name `xml:"http://www.w3.org/2001/04/xmlenc# OAEPparams"`
Data []byte `xml:",chardata"`
}
type KeyInfo struct {
XMLName xml.Name `xml:"http://www.w3.org/2000/09/xmldsig# KeyInfo"`
EncryptedKey *EncryptedKey `xml:"http://www.w3.org/2001/04/xmlenc# EncryptedKey"`
X509Data *X509Data `xml:"http://www.w3.org/2000/09/xmldsig# X509Data"`
}
type EncryptedKey struct {
XMLName xml.Name `xml:"http://www.w3.org/2001/04/xmlenc# EncryptedKey"`
EncryptionMethod *EncryptionMethod `xml:"http://www.w3.org/2001/04/xmlenc# EncryptionMethod"`
KeyInfo *KeyInfo `xml:"http://www.w3.org/2000/09/xmldsig# KeyInfo"`
CipherData *CipherData `xml:"http://www.w3.org/2001/04/xmlenc# CipherData"`
}
type X509Data struct {
XMLName xml.Name `xml:"http://www.w3.org/2000/09/xmldsig# X509Data"`
X509Certificate *X509Certificate
}
type X509Certificate struct {
XMLName xml.Name `xml:"http://www.w3.org/2000/09/xmldsig# X509Certificate"`
Data []byte `xml:",chardata"`
}
type CipherData struct {
XMLName xml.Name `xml:"http://www.w3.org/2001/04/xmlenc# CipherData"`
CipherValue *CipherValue
}
type CipherValue struct {
XMLName xml.Name `xml:"http://www.w3.org/2001/04/xmlenc# CipherValue"`
Data string `xml:",chardata"`
}