🚧 Added some Decrypt methods
This commit is contained in:
parent
50470c6e94
commit
1e511a11bc
|
@ -21,47 +21,126 @@ func (epe *EncryptedPassportElement) DecryptPersonalDetails(sv *SecureValue) (*P
|
|||
return &pd, err
|
||||
}
|
||||
|
||||
func (epe *EncryptedPassportElement) DecryptPassport(sv *SecureValue, b *Bot) (*Passport, error) {
|
||||
func (epe *EncryptedPassportElement) DecryptPassport(sv *SecureValue, b *Bot) (*IdDocumentData, []byte, []byte, [][]byte, error) {
|
||||
if !epe.IsPassport() || !sv.HasData() || !sv.HasFrontSide() {
|
||||
return nil, nil
|
||||
return nil, nil, nil, nil, nil
|
||||
}
|
||||
|
||||
/*
|
||||
var p Passport
|
||||
body, err := sv.Data.decrypt(epe.Data)
|
||||
if err != nil {
|
||||
return nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
body, err := sv.Data.decrypt(epe.Data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
var idd IdDocumentData
|
||||
if err = json.Unmarshal(body, &idd); err != nil {
|
||||
return nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
fs, err := b.DecryptFile(epe.FrontSide, sv.FrontSide)
|
||||
if err != nil {
|
||||
return &idd, nil, nil, nil, err
|
||||
}
|
||||
|
||||
var s []byte
|
||||
if sv.HasSelfie() {
|
||||
if s, err = b.DecryptFile(epe.Selfie, sv.Selfie); err != nil {
|
||||
return &idd, fs, nil, nil, err
|
||||
}
|
||||
}
|
||||
|
||||
if err = json.Unmarshal(body, &p.Data); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
p.FrontSide, err = b.DecryptPassportFile(epe.FrontSide, sv.FrontSide)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if sv.HasSelfie() {
|
||||
p.Selfie, err = b.DecryptPassportFile(epe.Selfie, sv.Selfie)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
t := make([][]byte, len(sv.Translation))
|
||||
if sv.HasTranslation() {
|
||||
for i := range t {
|
||||
if t[i], err = b.DecryptFile(&epe.Translation[i], &sv.Translation[i]); err != nil {
|
||||
return &idd, fs, s, nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if sv.HasTranslation() {
|
||||
p.Translation = make([][]byte, len(sv.Translation))
|
||||
for i := range sv.Translation {
|
||||
p.Translation[i], err = b.DecryptPassportFile(epe.Translation[i], sv.Translation[i])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &idd, fs, s, t, nil
|
||||
}
|
||||
|
||||
func (epe *EncryptedPassportElement) DecryptInternalPassport(sv *SecureValue, b *Bot) (*IdDocumentData, []byte, []byte, [][]byte, error) {
|
||||
if !epe.IsInternalPassport() || !sv.HasData() || !sv.HasFrontSide() {
|
||||
return nil, nil, nil, nil, nil
|
||||
}
|
||||
|
||||
body, err := sv.Data.decrypt(epe.Data)
|
||||
if err != nil {
|
||||
return nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
var idd IdDocumentData
|
||||
if err = json.Unmarshal(body, &idd); err != nil {
|
||||
return nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
fs, err := b.DecryptFile(epe.FrontSide, sv.FrontSide)
|
||||
if err != nil {
|
||||
return &idd, nil, nil, nil, err
|
||||
}
|
||||
|
||||
var s []byte
|
||||
if sv.HasSelfie() {
|
||||
if s, err = b.DecryptFile(epe.Selfie, sv.Selfie); err != nil {
|
||||
return &idd, fs, nil, nil, err
|
||||
}
|
||||
}
|
||||
|
||||
t := make([][]byte, len(sv.Translation))
|
||||
if sv.HasTranslation() {
|
||||
for i := range t {
|
||||
if t[i], err = b.DecryptFile(&epe.Translation[i], &sv.Translation[i]); err != nil {
|
||||
return &idd, fs, s, nil, err
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
return &idd, fs, s, t, nil
|
||||
}
|
||||
|
||||
func (epe *EncryptedPassportElement) DecryptDriverLicense(sv *SecureValue, b *Bot) (*IdDocumentData, []byte, []byte, []byte, [][]byte, error) {
|
||||
if !epe.IsDriverLicense() || !sv.HasData() || !sv.HasFrontSide() || !sv.HasReverseSide() {
|
||||
return nil, nil, nil, nil, nil, nil
|
||||
}
|
||||
|
||||
body, err := sv.Data.decrypt(epe.Data)
|
||||
if err != nil {
|
||||
return nil, nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
var idd IdDocumentData
|
||||
if err = json.Unmarshal(body, &idd); err != nil {
|
||||
return nil, nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
fs, err := b.DecryptFile(epe.FrontSide, sv.FrontSide)
|
||||
if err != nil {
|
||||
return &idd, nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
rs, err := b.DecryptFile(epe.ReverseSide, sv.ReverseSide)
|
||||
if err != nil {
|
||||
return &idd, nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
var s []byte
|
||||
if sv.HasSelfie() {
|
||||
if s, err = b.DecryptFile(epe.Selfie, sv.Selfie); err != nil {
|
||||
return &idd, fs, rs, nil, nil, err
|
||||
}
|
||||
}
|
||||
|
||||
t := make([][]byte, len(sv.Translation))
|
||||
if sv.HasTranslation() {
|
||||
for i := range t {
|
||||
if t[i], err = b.DecryptFile(&epe.Translation[i], &sv.Translation[i]); err != nil {
|
||||
return &idd, fs, rs, s, nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return &idd, fs, rs, s, t, nil
|
||||
}
|
||||
|
||||
func (epe *EncryptedPassportElement) IsAddress() bool {
|
||||
|
|
Loading…
Reference in New Issue