Skip to content

Commit

Permalink
bug fix for natural person validation (#117)
Browse files Browse the repository at this point in the history
* bug fix for natural person validation

* regenerated expired certs

* added type switches for legal/natural person validations

* added default case
  • Loading branch information
Daniel Sollis authored Feb 16, 2023
1 parent 25a5c62 commit b124712
Show file tree
Hide file tree
Showing 2 changed files with 136 additions and 112 deletions.
212 changes: 106 additions & 106 deletions pkg/rvasp/testdata/cert.pem
Original file line number Diff line number Diff line change
@@ -1,121 +1,121 @@
-----BEGIN CERTIFICATE-----
MIIF4zCCA8ugAwIBAgICB5kwDQYJKoZIhvcNAQELBQAwgZQxDDAKBgNVBAYTA1VT
MIIF8DCCA9igAwIBAgICB5kwDQYJKoZIhvcNAQELBQAwgZQxDDAKBgNVBAYTA1VT
QTELMAkGA1UECBMCTUQxEzARBgNVBAcTClF1ZWVuc3Rvd24xFjAUBgNVBAkTDTIx
NSBBbHlubiBXYXkxDjAMBgNVBBETBTIxNjU4MSYwDAYDVQQKEwVUUklTQTAWBgNV
BAoTD1JvdGF0aW9uYWwgTGFiczESMBAGA1UEAxMJdHJpc2EuZGV2MB4XDTIyMDYw
NjIyNDg0MVoXDTIyMTIwNjIzNDg0MVowXTELMAkGA1UEBhMCVVMxCTAHBgNVBAgT
ADEJMAcGA1UEBxMAMQkwBwYDVQQJEwAxCTAHBgNVBBETADESMBAGA1UEChMJbG9j
YWxob3N0MQ4wDAYDVQQDEwVhbGljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBALXlZYRjwSx3Dk/nKRJcf70MhDemOKbXoP1pOxgXPxdjaTB/1Yroh0hL
st8s81Q0RJB2jK4QJLHmrIaJz3QkFHynoQCBP9VxZB9kKH8f1gL6O5gqasRUBSLJ
Ek4OcqSu0y0Wo+EnP73NDgh383dkKFpBvca+pJiKNhZX0bnoDxSpDgPcWHHdJQ6R
LguTFKlppNJkYm3H/U5lCmoS3WY6h2TL7VPdzv2dAGjN61a9Qb0Lbw57nZMAlNVI
YH+2sS9g69pemUG3FIEqLb+TTal/0qsndQRhGP4+nktv4w9CnQpDU71N1pNl6m6K
zDgD1JLIJ5AtLGRFTE1LALq1+guwR340hpgGHblrFDw0QIxaqb8lMv2HGd7XPwY0
qvQrFBYHZ/ChPdhwMFS/TNUkJ9SVRZzG0XqFX3dvJWXYvzV2f7kfj5HUtvvjHlTt
UNXXCqb41ntLRuSYvmfG+4Xh1tr6iBef5kT/VaVU1YA/SS4l5VAGPIoI61I3kJuf
mwvBoZExv6xCVFj9SmsDbWBUozVTR7Ke7/2LUM8Mbj9WFsSvO3tCya0E8zwX7pYD
OoSJ3rT1G4HMHpkGWXmGOY+VuzPiUVgFOqj+baN9RsxAcjdwVffeH8eGol8nm8yn
tK6GzcQkQvmxGqjB8RVFwsyWdErYUaB5TboMQ1XHKIb5W4trN3evAgMBAAGjdTBz
MA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
DwYDVR0OBAgEBgECAwQFBjAfBgNVHSMEGDAWgBSC/XFyLbwDtF8g35fngMRhZJeW
vDAQBgNVHREECTAHggVhbGljZTANBgkqhkiG9w0BAQsFAAOCAgEAtkwbfmi9RWDk
yhIHToA+aA9Lmr/0M+Xa+gkFEW5YbhmRrHiKy+ldYcGPjbuFCkE+TbufRRHE3lDI
9YlLJ7XSexPGsNjIn+t5X0PoPbBXAVoef1Tevm6cWeOiPk4FATccZ99tV2YJ9mrp
9hyWS7BAQyFfFzUZjgv078KWbfCxvDJvqN+mMZPt99N/Q5mFUMkglAKyo8w/XrJq
4S3k9gxHIqaZp9MXR1O+06SaBNspK+8DMWwbatCSzwdrmlUwOpMn8+YOoSA2x+4r
/l2HWDn8G8s61MMLRQ30ccGCCEMOmbklb27FHIaVRoAcVfyhD3qo2FZ/TStsQQpN
JUpAvwT6yxe+cIVVLEXs1jg6Mo++0Tf9yKR+3p4a8lMhKF3c7OHgUiBPcxDcpDal
lF7iUbpEx6rxcMfddFcxJPD42KamsAXtqL1aF/knPLRPVDVK5+1osDssRK2/9fH4
4t5phqOdAFxrIwHlNyxZ2d/FWhmxxzByln4Gzhx1RC12/3+DLXMRR/62V6s611O7
wOlpfL0uwuYA3Ig4ssNxQS0NofLN35rTkoNmfeVvpd/aLiRM4eQ0vKGrD9cdCClz
v5gXLPxMSvom+U3C2v2p74K0MaBT2qPU6nnUQP4jc8opu14TEMmONpOf4OUhi6rC
IsML38xNy8zZ2gyyg1og/6jsOnOKoPY=
BAoTD1JvdGF0aW9uYWwgTGFiczESMBAGA1UEAxMJdHJpc2EuZGV2MB4XDTIzMDIx
NTIwMTE0OFoXDTIzMDgxNTE5MTE0OFowajEMMAoGA1UEBhMDVVNBMQswCQYDVQQI
EwJNRDETMBEGA1UEBxMKUXVlZW5zdG93bjEJMAcGA1UECRMAMQkwBwYDVQQREwAx
EjAQBgNVBAoTCXRyaXNhLmRldjEOMAwGA1UEAxMFYWxpY2UwggIiMA0GCSqGSIb3
DQEBAQUAA4ICDwAwggIKAoICAQDJgaPxN7LOfEEDSWCAhVdn9VLaHhinmEO3iw5L
lPW/MVH6/nsCK0FZ0KYQX2LNNCPDbgF231Wo5JkXT0CdHVc9Q201SEhizRPfV/gJ
LW3tRke5FLZfBMg0hVi+696vLeCBW2bHiUsVOfq7pskiOZX6W0zfYDACYhz2vvvX
pGLzqUWkFnGaTTMz0RHq7os6Qdb0OhSanCVm211S8VqU1NKytmNLjcSuTCATYyQy
jVAe1u644y7FTn/3KMpvQZo6iYXFRtaLFP7nSFLG/iQCKFRAA6K3e5xMIsyi0jZ1
fWFAZrmbOuWqAdRo/IDhOi4IlLBJILvdVr9uEC9zGcfvmxBetwwPHJ7qmn9LLX6L
qiZLAfO4kbvNnXls+E1VepCVZlGhDtgqe3Mj2q3hcRinSZ9qojP+IG8L03jHEErL
Ws5m6dT7bLEQBIQPEFgrq2qKKIJl4pxujQf616Xk7VgD98E4uSF/DLhbzHsb9uis
SLerQzScZN27k9GrrasPGGyEyb6q7HNovyXVYCdrzo6nfU/NzJA5vdzJC4NdJzO7
aa68sI0ncinWuDib/iUqOYcHLmlgNnOcg6WX2wUmSkIZ4MD4ulbndvfN27b75e8i
DCE1lpuNtIX0TG85hualZiRPzdxn6tIVqFFUfg3/lWgOQIWZxbbCzK9Dbg9DY16d
anWPJQIDAQABo3UwczAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUH
AwIGCCsGAQUFBwMBMA8GA1UdDgQIBAYBAgMEBQYwHwYDVR0jBBgwFoAUNvfEnm7O
CUfj2pKvGvJXNGnzZbUwEAYDVR0RBAkwB4IFYWxpY2UwDQYJKoZIhvcNAQELBQAD
ggIBAMRH4L7jxIhbWZyue8cs8G/3xdm5arMh2vcDy0MoD1uTJ7bejD/ghfHyyKh3
RHpmQDT7LbEZG3SkZHfMfZqgRPcPn1Gufj7m3y7yKmbqgcfW57AIqHPif8smfMJ6
c1WdOeCNFPtsyACor/xA2Gy/FbT34ATZPor3opGtIaW67QzmvOzjXhq5vMseGi1k
Zjz7P9Rk5/+CWc1WVw1Jrlm9zPLsKusIDxvadVAZb9iq3yg8hi2vzIdTTzbRBunX
G5XAM0YQ+3eTKjZRMn4zy/8MyH0T0ZFqTJlRD1OoJSx4L/nEu5RPuavliFIHdZ/a
KciaJuLZxvBq8LAByD85IHU1PVolq2Hp2KLR0LkaePeB/LqI0XGNT+ihrNpdqDBG
Bw6mOtPzrYsuLt0nXxu+xd103Xlde7Npx7OscXSrV+sZihTHCULFr43N8UuYW4q6
arJv2naYNoajby/WOZYvE2PynlLa2LFXCjp69rtoAuSoncCeO2YVT5CLdf4hHnKQ
FsPQfVXVEfJ65DAMPksCpqOZAVGlDFEcjbn8Z/MUXwLYjDcDVV9WAEcaG0IXgMR3
fIYbD47EfMD1fQG+iBu2/dP5EdOfzCcxThUME20phLNiyW1s2nF5ixL/QS4D406e
An9nIaTyZI/rrZ6bRsaXkMaadu+r45eD4d2JRzSwrMLDber4
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGHTCCBAWgAwIBAgICB5YwDQYJKoZIhvcNAQELBQAwgZQxDDAKBgNVBAYTA1VT
QTELMAkGA1UECBMCTUQxEzARBgNVBAcTClF1ZWVuc3Rvd24xFjAUBgNVBAkTDTIx
NSBBbHlubiBXYXkxDjAMBgNVBBETBTIxNjU4MSYwDAYDVQQKEwVUUklTQTAWBgNV
BAoTD1JvdGF0aW9uYWwgTGFiczESMBAGA1UEAxMJdHJpc2EuZGV2MB4XDTIyMDYw
MzAxNTIxMloXDTMyMDYwMzAxNTIxMlowgZQxDDAKBgNVBAYTA1VTQTELMAkGA1UE
BAoTD1JvdGF0aW9uYWwgTGFiczESMBAGA1UEAxMJdHJpc2EuZGV2MB4XDTIyMDkx
NTE1NDcwMVoXDTMyMDkxNTE1NDcwMVowgZQxDDAKBgNVBAYTA1VTQTELMAkGA1UE
CBMCTUQxEzARBgNVBAcTClF1ZWVuc3Rvd24xFjAUBgNVBAkTDTIxNSBBbHlubiBX
YXkxDjAMBgNVBBETBTIxNjU4MSYwDAYDVQQKEwVUUklTQTAWBgNVBAoTD1JvdGF0
aW9uYWwgTGFiczESMBAGA1UEAxMJdHJpc2EuZGV2MIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEA1MANeKl0AOjON+gdp2R0c7iVgkzAEgMZYeE838Y/MYKf
tx2UV9UEjGTfKpMxch3TzRkqHAlyLDzvVKYSpCtDzyDYKBb4DD8lUltoqPHi143C
GKSyVP+KcF/5ilaVcKB+zenoFMeBx4aRewpMgh0Ycn0CVSbkyOVy5aVDvfA4UFpC
xZ73XX+A/3v/aFyg565xKYtI0mcv6EBorjbqOUkQhOikAao3P4nSZ1p8AHI5diAB
dNKpRLJ3e1kFeGgnCYZ2B4IxTRqwqpSFFqpL/y5nomRm6Bp1oDPhwZ7sbp9guUS3
+6wAuvArO8dMrMYf3udkLa5xhWhvE/2lT9EgLQZwpfBTcgA8NDDsn6o011TAoRqc
amS9qGKGYUKRHr+b7HEzvmdrkpLnvx3bWi8EgUuYxyTn9U5dO63gbjBFkGUU94bG
opjiu4+bh5KMYk4h8j05+yyiIjS0Erspcyt4UyQK6646JNUmrJX2Qy+4b36UNS45
Yt5vfJ/GHU9XyPdxlPxWzXpolVFmZrTQkXEcJ5vN/qEvaKD8vpsOVfGBJSpvbv52
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
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC15WWEY8Esdw5P
5ykSXH+9DIQ3pjim16D9aTsYFz8XY2kwf9WK6IdIS7LfLPNUNESQdoyuECSx5qyG
ic90JBR8p6EAgT/VcWQfZCh/H9YC+juYKmrEVAUiyRJODnKkrtMtFqPhJz+9zQ4I
d/N3ZChaQb3GvqSYijYWV9G56A8UqQ4D3Fhx3SUOkS4LkxSpaaTSZGJtx/1OZQpq
Et1mOodky+1T3c79nQBozetWvUG9C28Oe52TAJTVSGB/trEvYOvaXplBtxSBKi2/
k02pf9KrJ3UEYRj+Pp5Lb+MPQp0KQ1O9TdaTZepuisw4A9SSyCeQLSxkRUxNSwC6
tfoLsEd+NIaYBh25axQ8NECMWqm/JTL9hxne1z8GNKr0KxQWB2fwoT3YcDBUv0zV
JCfUlUWcxtF6hV93byVl2L81dn+5H4+R1Lb74x5U7VDV1wqm+NZ7S0bkmL5nxvuF
4dba+ogXn+ZE/1WlVNWAP0kuJeVQBjyKCOtSN5Cbn5sLwaGRMb+sQlRY/UprA21g
VKM1U0eynu/9i1DPDG4/VhbErzt7QsmtBPM8F+6WAzqEid609RuBzB6ZBll5hjmP
lbsz4lFYBTqo/m2jfUbMQHI3cFX33h/HhqJfJ5vMp7Suhs3EJEL5sRqowfEVRcLM
lnRK2FGgeU26DENVxyiG+VuLazd3rwIDAQABAoICADl4CsTzR3sm+mygWkek1e8C
31s9tzRveDvYXYVVAuf+zqM2IF/M68EZuZ/tccuu3+LMsdHk49MZUHUJYXQOWjKw
O5wPOf3T35BTcsAHbPRv3xhKfoUdDqpY4OGsiughHDNorcpbPjZXbRGb5F5aVK1/
i9gZL6PKNyCECo00Fl+usfDiU0dWWXjqwaOCisqjyCF4+eg5gXydS9cLssuzvkdI
bulKcTWLvy9dr/ctwHFcBXCL+dMSIfPo9CQlsoGHm7zYmo86qs3MZ7vZbHYbHpJY
2w3RJ7ZcTmMDLLgLkdZGQ1TSHPNhBdp7G96uxyDBAE77FsVvZ5YcFlTnXeMHhO6A
eRrfOAoYFrCPFlrTebmo4T9LWJjtzyrmuJN6NFjiHjqOJgU+nq22KftGs0Iw88h9
Tdaogf4KwQ45CtE7B5q6S11gBSl32Ph331g9aKMxgQIvP1pCYnf32w9ESyeLBZRF
RXMzlk207bH4EPxBXB3myd3T+onyVV8z0JQDjkDTztoR2sudS3wkXzHuHHin8RE6
eCeoEwsD35u56Su/zaZdsJM0mAPi17tSSfq4AYe7acW5qWXtrf11rlCC/3eEcRCG
6+PWg31g2Mev/JLzpobF0YsvjwiyJYdLUoqtH0e1k9YDUMn2htapYpCAakDr5UyL
k3leJ6ebGbdbvX8uInFBAoIBAQDRFbpv7ZDy8BjKeL5Em4+zDaom10e+UHxjs7/r
qhXAACCOjs9+yKwKtV+n2wZY7/4aFCbsiWRBBBKTi81gCNItF2wzlDQt2PLxbHa4
3Jky+S186ZttfMTJpiB4c7I3U+KOYZj8fH+6Irt7w6xxnzA86v8OihvTqGvHnzfC
zFC8vD2oKkVNvIb4wBRGMtvE0AMut+2g6JJd84wOhDbf2xQNBrkC2L83/4MZW3l3
hw4gqriV/hNdNlyjVTdcafihL1FaOgi4v3bRB2al1HOxJVrWlRqACSzXph6F9hM3
iiqxagkSci5X5C3DXE90Ow/qYgCHPEA3n79qZD5X81ZyKgVfAoIBAQDeteMYyRqY
hiYPz9eoW+nU3rpCHnw2xrgIXGKTowh7ipIgeW8biniAeHuVsCxFNjkoDLnQkCoe
JJPB6V7Ee9Np+XMCG+mMC6QYCKtqoBZ/9VexnMqLaUUYvkZWcO8rvIMSb8WKmzbS
6RVA5qfURCe2bguvR2X0WLnOcRYW46Nju6zn5VE7AG8PNc/V+1s1R7mVC5nqObY6
k1VfM1V+jQ7q5p+TST2pXabOaHbVKhUzOc2xrLSOAzNkXbP4Va0MwO9zCi+ilqkL
0OjSRhho5g5M2RK9VEdj1mhEY6kJjw5sDZbL7G/wPBGql2zZ4ynKrCOU/r7sPaPt
oGx3gju0BN+xAoIBAFgiCZFumV/eFwUZulIfJIZ8JxHyQvqU4KoCNc73xe1F4HNW
/V3a5rIo2+Zca6OHnhuODQ49p7XEKrRpBKwLa9S3/9MKEKiWv2lGqBCqZCVZZXQ2
4F5ZbnX1gdBkLGYoBOKxfxRGwmxKga7cv06xpFq5T8PoMWyZnLzrf0ysZQf5bR/6
mXX4Fwi5ppIklAC1EfJac18VScUyiQIBd0QLC7ul7sylYo0PNkq1BVF961WXwPDw
xWbQKGJs5EYfIT+IO4mF1vFRO5tGvF0AXbf5H/49oYsA0xcfndQn8tfBdNeN878D
xEcmFqg3vAIpdz78Cm721bbcrooBMUpPd0vuLI8CggEBALrv7XlGhH52S8iF6z00
OWgmtCz/rb/EuYC7GztVY69fNxzvESYK6u7bMtEImYBW7U8Cr42zFMdMaIIhwxwl
2+VeLv0cNMMKmmhaDphnW7t4Um2RcCno6MjGHgA8t2T8zQBStXuMoU4Tu3VIpqLz
umnUoRY1Vgzt1LjGD4aS+Pij9ZSI1dAyowYfYx735y0n0Uyb+kuyuZUdSlGooyCg
gl8Fyfg1R/67z2H+KZDvy++9mzyB/OQfJ6odRQ0zzRehctwbNrTAxZBXgLXPhHm4
cVRr+ODWtz3EIK0XAjI11CM6nNL62VLK+QE6LXIOzWuDZjKQSe2+J7U0LRd7R2Xp
mWECggEBAIYNts3gA/esOzIvX34QHUGweULG38dNxEGKfeMrMQlIDOItNJvZpavP
u44wpyP8L9uoVbh6Z/26pz1G67NK7aAo0EDslhonZxL31HM60HX5Bv6unVMYqb/9
k+K1gg+z8Io8jHfQImVaL65gJ9tnpacM0BJiZA3RbOFUfDI+t2jT3+QPg2Sb0KAG
V93ZFEpu7Vi7sVXQRNyWwhCWxFk+bLSl4F3qUILH1AQFTJO8Nrh3XoEskHaw8A/c
2ZjnxKK5usSUAnCLgkohGyOxfdC3XwzsB2AXUFhF5XVTyyW+d+Ge8L9jS0KaXRIO
nBtVNsOVgXpJIgG+Qyo/YAeS98hZDuc=
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
1c7WwZcUVdV0NCFQ7k++KycaEufvf6k=
-----END PRIVATE KEY-----
36 changes: 30 additions & 6 deletions pkg/rvasp/transfer.go
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,21 @@ func validateIdentityPayload(identity *ivms101.IdentityPayload, requireBeneficia
}

// Validate the beneficiary person
if err = identity.Beneficiary.BeneficiaryPersons[0].GetNaturalPerson().Validate(); err != nil {
log.Warn().Err(err).Msg("beneficiary person validation error")
return protocol.Errorf(protocol.ValidationError, "beneficiary person validation error: %s", err)
beneficiaryPerson := identity.Beneficiary.BeneficiaryPersons[0].GetPerson()
switch person := beneficiaryPerson.(type) {
case *ivms101.Person_NaturalPerson:
if err = person.NaturalPerson.Validate(); err != nil {
log.Warn().Err(err).Msg("beneficiary natural person validation error")
return protocol.Errorf(protocol.ValidationError, "beneficiary natural person validation error: %s", err)
}
case *ivms101.Person_LegalPerson:
if err = person.LegalPerson.Validate(); err != nil {
log.Warn().Err(err).Msg("beneficiary legal person validation error")
return protocol.Errorf(protocol.ValidationError, "beneficiary legal person validation error: %s", err)
}
default:
log.Warn().Msg(fmt.Sprintf("unknown beneficiary person type: %T", person))
return protocol.Errorf(protocol.ValidationError, "unknown beneficiary person type: %T", person)
}

// Check that the account number is present
Expand All @@ -246,9 +258,21 @@ func validateIdentityPayload(identity *ivms101.IdentityPayload, requireBeneficia
}

// Validate the beneficiary vasp entity
if err = identity.BeneficiaryVasp.BeneficiaryVasp.GetLegalPerson().Validate(); err != nil {
log.Warn().Err(err).Msg("beneficiary vasp entity validation error")
return protocol.Errorf(protocol.ValidationError, "beneficiary vasp entity validation error: %s", err)
beneficiaryVaspPerson := identity.BeneficiaryVasp.BeneficiaryVasp.GetPerson()
switch person := beneficiaryVaspPerson.(type) {
case *ivms101.Person_NaturalPerson:
if err = person.NaturalPerson.Validate(); err != nil {
log.Warn().Err(err).Msg("beneficiary vasp natural person validation error")
return protocol.Errorf(protocol.ValidationError, "beneficiary vasp natural person validation error: %s", err)
}
case *ivms101.Person_LegalPerson:
if err = person.LegalPerson.Validate(); err != nil {
log.Warn().Err(err).Msg("beneficiary vasp legal person validation error")
return protocol.Errorf(protocol.ValidationError, "beneficiary vasp legal person validation error: %s", err)
}
default:
log.Warn().Msg(fmt.Sprintf("unknown beneficiary person type: %T", person))
return protocol.Errorf(protocol.ValidationError, "unknown beneficiary person type: %T", person)
}
}
return nil
Expand Down

0 comments on commit b124712

Please sign in to comment.