add conversion from account V1 to V2
This commit is contained in:
parent
3ab61bca31
commit
2c14fed18f
@ -39,6 +39,64 @@ type Account struct {
|
|||||||
KeyType certcrypto.KeyType
|
KeyType certcrypto.KeyType
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CertificateV1 is used to store certificate info
|
||||||
|
type CertificateV1 struct {
|
||||||
|
Domain string
|
||||||
|
CertURL string
|
||||||
|
CertStableURL string
|
||||||
|
PrivateKey []byte
|
||||||
|
Certificate []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// AccountV1 is used to store lets encrypt registration info
|
||||||
|
type AccountV1 struct {
|
||||||
|
Email string
|
||||||
|
Registration *registration.Resource
|
||||||
|
PrivateKey []byte
|
||||||
|
KeyType certcrypto.KeyType
|
||||||
|
DomainsCertificate DomainsCertificates
|
||||||
|
ChallengeCerts map[string]*ChallengeCert
|
||||||
|
HTTPChallenge map[string]map[string][]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// DomainsCertificates stores a certificate for multiple domains
|
||||||
|
type DomainsCertificates struct {
|
||||||
|
Certs []*DomainsCertificate
|
||||||
|
}
|
||||||
|
|
||||||
|
// ChallengeCert stores a challenge certificate
|
||||||
|
type ChallengeCert struct {
|
||||||
|
Certificate []byte
|
||||||
|
PrivateKey []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// DomainsCertificate contains a certificate for multiple domains
|
||||||
|
type DomainsCertificate struct {
|
||||||
|
Domains Domain
|
||||||
|
Certificate *CertificateV1
|
||||||
|
}
|
||||||
|
|
||||||
|
// ConvertAccountV1ToV2 converts account information from version 1 to 2
|
||||||
|
func ConvertAccountV1ToV2(account *AccountV1) *StoredData {
|
||||||
|
storedData := &StoredData{}
|
||||||
|
storedData.Account = &Account{
|
||||||
|
PrivateKey: account.PrivateKey,
|
||||||
|
Registration: account.Registration,
|
||||||
|
Email: account.Email,
|
||||||
|
KeyType: account.KeyType,
|
||||||
|
}
|
||||||
|
var certs []*Certificate
|
||||||
|
for _, oldCert := range account.DomainsCertificate.Certs {
|
||||||
|
certs = append(certs, &Certificate{
|
||||||
|
Certificate: oldCert.Certificate.Certificate,
|
||||||
|
Domain: oldCert.Domains,
|
||||||
|
Key: oldCert.Certificate.PrivateKey,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
storedData.Certificates = certs
|
||||||
|
return storedData
|
||||||
|
}
|
||||||
|
|
||||||
// Tree FIXME move
|
// Tree FIXME move
|
||||||
func Tree(root, indent string) error {
|
func Tree(root, indent string) error {
|
||||||
fi, err := os.Stat(root)
|
fi, err := os.Stat(root)
|
||||||
|
|||||||
@ -78,10 +78,10 @@ func getStoredDataFromGzip(pair *store.KVPair) (*dumper.StoredData, error) {
|
|||||||
return data, err
|
return data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
storedData := &dumper.StoredData{}
|
account := &dumper.AccountV1{}
|
||||||
if err := json.Unmarshal(acmeData, &storedData); err != nil {
|
if err := json.Unmarshal(acmeData, &account); err != nil {
|
||||||
return data, err
|
return data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return storedData, nil
|
return dumper.ConvertAccountV1ToV2(account), nil
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user