65 lines
2.4 KiB
Go
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"`
|
|
}
|