Escrows
Escrows¶
Escrows in LAAVAT PKI and Signing Platform are used to enable a person to retrieve secret information from the product. Escrows are per product and require approval before they can be used. Escrows encrypt the response with GPG public key used in escrow registration.
Response payload currently consists of custom Fusemap which contains the 128bit AES key.
It is important to specify the escrowUser field correctly since that field is used to check from the AD that the person is who he claims to be.
Example of decrypted product secrets¶
Example of i.MX6 based gateway product escrow response. Output is shortened for readability.
{
"id": "3094dbc5-4706-4ba9-8205-136fa76cfb0d",
"payload": "wcDMA...",
"state": 16
}
After the payload is Base64 decoded and opened with GPG.
echo $PAYLOAD | base64 -d | gpg
gpg: WARNING: no command supplied. Trying to guess what you mean ...
gpg: encrypted with 3072-bit RSA key, ID 5D3668407C55D745, created 2021-07-07
"testcustomer <testcustomer@customer.com>"
:040400003F43400036
:040450003000000870
:040460001E00E0009A
:040470008DB90044FE
:04058000632E974609
:040590000DAC816CC1
:0405A000C9B970EF76
:0405B00031A85DAB66
:0405C000DA47C861ED
:0405D0006DEE3AE2B0
:0405E000BA68981944
:0405F000E2B814D980
:04060000B077754812
:04061000469E3800CA
:0406200080CF7E15F4
:04063000D3200000D3
:0406D0000200000024
:00000001FF
Example usage with reference client package: Add an escrow for the product (for fusemap delivery)¶
Escrows are used to deliver fusemap content securely from the product configuration to the OEM. To be able to request a fusemap, you'll need to register atleast one escrow for a product. You'll need the OEM GPG public key and a username for the escrow (only a client linked to the escrow may request fusemaps using that escrow)
Add request for a new escrow:
(venv) $ signing-tool -c -t $TOKEN -a https://app.laavat.io/<CustomerName>/api/v1 escrow add
Add escrow
escrow Name: TestEscrow1
escrow Description: testing escrow 1
escrow gpg key filename: gpg.pub
Product ID: b508d600-977a-46f4-9070-5cf56646bae1
escrow username (who may use this escrow to request fusemap): oid:<your-object-id>
{
"description": "testing escrow 1",
"escrow_type": "GPG",
"escrow_user": "oid:<your-object-id>",
"id_product": "b508d600-977a-46f4-9070-5cf56646bae1",
"name": "TestEscrow1",
"payload": "LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkdEbFpHZ0JEQUNyUmRy\nTHoyTmtsamtUeUxycWhSUEJ0WGMreVh1TmFrVHo5VDJvNFM1d09tT3p5SkZsCnNhRE1seVI4dmRr\nSzdxVnU0QjVjQlAvNTBOTGMxalgvcFJyeFN6RHdIRWptZnFUQ0RpNWVXMS8rWWFoVTh4OEkKdEhk\nVEticTQvTkZxNyt0YWIvRjEySDRIMUk0RktEMXJnS0pOOVZ4c0paMHJ6ejJpSXVyYnFmUXBiU0Yr\nemZrOQpTRVAwYnprQzBLMnlNWmtJeGsyd1dSQTJSa3hGWlR5YnAvaTVQQXVERVZsbExxbmJ4bTZG\nRHZFdFZTbzRlMXBmCjdsM1pocmFOOXJySDJMMUx4VjdMSDVTbEN2OG4wZlJrQWtzMzhXNDBLcWZk\nV0tZOVhPS0c4UXpUMGE5dSt6NjYKMUx0UDRuQjZRRVp0ZVkyL3E2U3VYSnRXSUZNSmdHeXE1Nk5R\nMCsvdGQ1bHZsNE9aUXRmbkxiZVNYeW10ZnI5VAoyZG51SHkrYkNrWVV6Q1BOcm1TTFlPRnQ3YVZy\nVHQrdkZkMnRGWG1sNlVZZVFoVDNPNEo4MDQwL3Y5Q0Y1OEVECmlSYlJkRFF4Y3FmK292NUdhb0t3\nS3BaMTFHTHY5YmkvUjdTNHBlelBGaE1rUnJwRkZZYlJROGNkNjhwNUNzSkgKck93WVRhcXc3Y2gz\nYVNzQUVRRUFBYlFvZEdWemRHTjFjM1J2YldWeUlEeDBaWE4wWTNWemRHOXRaWEpBWTNWegpkRzl0\nWlhJdVkyOXRQb2tCMUFRVEFRb0FQaFloQkRucmVuMGQ2YTV5K1BTaUxNQmpudUF2VzBuREJRSmc1\nV1JvCkFoc0RCUWtEd21jQUJRc0pDQWNDQmhVS0NRZ0xBZ1FXQWdNQkFoNEJBaGVBQUFvSkVNQmpu\ndUF2VzBuRC9PTUwKK2dOd2xaMENTclBhMVNxcHdFUU1yTDR5bm1zRE1UOGdxSWJ0NFZwWk1jU2pa\nclNtTW9CcVRQNUFKK0FiUGZ3Sgp2VlJVS3Y4UVdXMTRUY3NNbFQyZGdHbDN2NXpSUE1zQk1CdmtH\ndysyVVdOOCtjSzh1M0FJZVZsanIwN2cxb3ZXCitXNFJEOVZJUVY3aUxQakVCbXE5L1VlV3ZUMzZl\nNFlTUFNGT3hEeWQxdVpZbENXRm9BZUFvQkg3cmtPMTFNZXUKWEZ5bU5oa2lrT09xUUR5cDR1aGEv\namlXc1BYWTRtYzY4Vzl5bDNTZHRFL1dVMGZoU1NickQzWG9xQkswZyt4OQprTHJXdkxNeXBTYjRR\nWklkNVpOcUFhWkxqdDZSQ0MzdmR6aHZNT01Icm1wWE9OTVREVVdrSnVlQUlpclBCbG0wClFCd21m\nZmNDK243V3RVOTdjWGtxOGZWaVlteWhCcTRRY0JlZnZQYVNPcCtzaVhzay9NL2duNk4raXR6UGR3\nRjIKNkR4OWpjRWx6YkpFMGxFK0l4OWd3WGZicm9YcGpiMUU2MFpkWW9LSEdOclpJRWswR3lGbmNW\nNzB4UUp2SVA5NApxMldnQjFHMUhwZE4zb0E0ZGtCbkh0S085cFhBUDk3aXk3SStZYXJ3L1hGaUFz\nMUdYcWdQL3EzSEpGSkV0T2lwCkVya0JqUVJnNVdSb0FRd0EwS0FuWVBEN3FKTnpHaDlybTFOT0N6\nZnNISVpadUliVStwTWpyUUpnT3VycUdVVXMKQnFXTXhoV3I0SU5NVkUvaVlSSzBrMkJ6cEtMd0RS\nZTNVZVhwdjgrbk5VTlZmelFrSUZFUGFWZi9FNkxPRDVHdQpmTG5VSEQzWXZ3bVIxY3dyVFg4eHgr\nSkJaR1o3alN6KzNJbGVOc1psU2pWbDNaMVRidlREdEpuVzUrYnQ2SzQ5CnlRVWFENXVYNkxBaVBU\nREhaT0hwMTdRdUFCMENEeWdwSUJhQzF2d29HWk0zVjNRYmZtczVNQnF1OXVsbGJQZFEKZ0k2NVJ3\nUVRmZ1FRajk0emlhRk4weXFtL3hyZXk1ZjNod0FuLzIxbm0wTFFGdWJBZkgyZEZKWFY1SWxwQXp5\nNApLR0dmcE5Ec3p6U1pEclFFeGhRK3VZY25qWWR2OWQ5WGV2dWx4cHRLQnVoZWRVaXUwSWxadmxV\nNmFXR0tNOG5tCm8zTjFOeFlWMEFkZ0VCSThLZnY0ME1WNzkwZTFVSHNiWkwyTTM4TmRZMEhJeGRV\nbDVGMEovNEE5ZDhOWjlRcUMKcmlYcFhPajMvV05xQUU2MHJyeVZwaVkzVlRIdGR0OEJFU3NYVWtJ\nN2JJb2E5MUJkNjdsV051SlJ0ZUdGQ1FscwpRb2s0NTRYc2ZZQ05QSzVIQUJFQkFBR0pBYndFR0FF\nS0FDWVdJUVE1NjNwOUhlbXVjdmowb2l6QVk1N2dMMXRKCnd3VUNZT1ZrYUFJYkRBVUpBOEpuQUFB\nS0NSREFZNTdnTDF0Snd6RHVDLzlhS3pjdDZZZi9LM096VUhQejhZT0MKWExtcElRcmxyaW1RbUVQ\nQ0xSOGJkSG9NNENIMG1TRWY2N3dDNUFXVitkVlBTdGNvN1lPRWt6SnNQaVVhK0N3OQpXMHdmTDc2\naDMveVJyY3BvNEM5N0FhSmhiQWFRd3IraVFwamR5NFlxdTc2SllpVjRTWTE1V2Q3SE85UUwrMHZP\nCkY5WnJKalNKa3lQS3ZleWxocHcwUm1iR0RjQVEvVThYKzhIYWw5R3RxeDV2YkZHMDIzVEgvdEIz\nOEVFRjFOYVkKSVQ0TFQySExUTUtRZkd2bHZCQVVpRmY4UXUyR1RVWnA4K0FsT3RlVFlGZUtrUXVt\nWmRvRE5kcGludHh6UUg0awp0N2YyQzdhZ0k2OE9MRjdjb2E4WGxKdDNUYTdFQ2U5dWd0OFYzeXJS\nU05YTXZ5NlB1bFUrTzJmUi9BWFhQWHpzCmZyYnpSZ0RNMGVIdEkvQ3lYS1ZFWXUwNVpYVEppUURS\nMzhZNENONkQxNjlOZG11Q0xMb1dyOHNJck1FQ0JodjUKaWVJUHR6Z1UwT1M0dlRaWDU5anhTNFpL\ndHFIWk1iQ3BtSDByZHhzNHBXcGRRbnpCQUhZN0VjMW8va2dkSnkyZwowU1l0ekFmTFNtdEI0QUFH\nZC9ZamtjcVdtM2hTL1NTbTB6NmdLZFgraVJJPQo9d2o3QQotLS0tLUVORCBQR1AgUFVCTElDIEtF\nWSBCTE9DSy0tLS0tCg==\n"
}
Is escrow ok(Y/N): y
{
"description": "testing escrow 1",
"escrow_type": "GPG",
"id": "c61c0937-b896-4d72-a217-44aeeee0d2b1",
"id_product": "b508d600-977a-46f4-9070-5cf56646bae1",
"name": "TestEscrow1",
"payload": "LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkdEbFpHZ0JEQUNyUmRy\nTHoyTmtsamtUeUxycWhSUEJ0WGMreVh1TmFrVHo5VDJvNFM1d09tT3p5SkZsCnNhRE1seVI4dmRr\nSzdxVnU0QjVjQlAvNTBOTGMxalgvcFJyeFN6RHdIRWptZnFUQ0RpNWVXMS8rWWFoVTh4OEkKdEhk\nVEticTQvTkZxNyt0YWIvRjEySDRIMUk0RktEMXJnS0pOOVZ4c0paMHJ6ejJpSXVyYnFmUXBiU0Yr\nemZrOQpTRVAwYnprQzBLMnlNWmtJeGsyd1dSQTJSa3hGWlR5YnAvaTVQQXVERVZsbExxbmJ4bTZG\nRHZFdFZTbzRlMXBmCjdsM1pocmFOOXJySDJMMUx4VjdMSDVTbEN2OG4wZlJrQWtzMzhXNDBLcWZk\nV0tZOVhPS0c4UXpUMGE5dSt6NjYKMUx0UDRuQjZRRVp0ZVkyL3E2U3VYSnRXSUZNSmdHeXE1Nk5R\nMCsvdGQ1bHZsNE9aUXRmbkxiZVNYeW10ZnI5VAoyZG51SHkrYkNrWVV6Q1BOcm1TTFlPRnQ3YVZy\nVHQrdkZkMnRGWG1sNlVZZVFoVDNPNEo4MDQwL3Y5Q0Y1OEVECmlSYlJkRFF4Y3FmK292NUdhb0t3\nS3BaMTFHTHY5YmkvUjdTNHBlelBGaE1rUnJwRkZZYlJROGNkNjhwNUNzSkgKck93WVRhcXc3Y2gz\nYVNzQUVRRUFBYlFvZEdWemRHTjFjM1J2YldWeUlEeDBaWE4wWTNWemRHOXRaWEpBWTNWegpkRzl0\nWlhJdVkyOXRQb2tCMUFRVEFRb0FQaFloQkRucmVuMGQ2YTV5K1BTaUxNQmpudUF2VzBuREJRSmc1\nV1JvCkFoc0RCUWtEd21jQUJRc0pDQWNDQmhVS0NRZ0xBZ1FXQWdNQkFoNEJBaGVBQUFvSkVNQmpu\ndUF2VzBuRC9PTUwKK2dOd2xaMENTclBhMVNxcHdFUU1yTDR5bm1zRE1UOGdxSWJ0NFZwWk1jU2pa\nclNtTW9CcVRQNUFKK0FiUGZ3Sgp2VlJVS3Y4UVdXMTRUY3NNbFQyZGdHbDN2NXpSUE1zQk1CdmtH\ndysyVVdOOCtjSzh1M0FJZVZsanIwN2cxb3ZXCitXNFJEOVZJUVY3aUxQakVCbXE5L1VlV3ZUMzZl\nNFlTUFNGT3hEeWQxdVpZbENXRm9BZUFvQkg3cmtPMTFNZXUKWEZ5bU5oa2lrT09xUUR5cDR1aGEv\namlXc1BYWTRtYzY4Vzl5bDNTZHRFL1dVMGZoU1NickQzWG9xQkswZyt4OQprTHJXdkxNeXBTYjRR\nWklkNVpOcUFhWkxqdDZSQ0MzdmR6aHZNT01Icm1wWE9OTVREVVdrSnVlQUlpclBCbG0wClFCd21m\nZmNDK243V3RVOTdjWGtxOGZWaVlteWhCcTRRY0JlZnZQYVNPcCtzaVhzay9NL2duNk4raXR6UGR3\nRjIKNkR4OWpjRWx6YkpFMGxFK0l4OWd3WGZicm9YcGpiMUU2MFpkWW9LSEdOclpJRWswR3lGbmNW\nNzB4UUp2SVA5NApxMldnQjFHMUhwZE4zb0E0ZGtCbkh0S085cFhBUDk3aXk3SStZYXJ3L1hGaUFz\nMUdYcWdQL3EzSEpGSkV0T2lwCkVya0JqUVJnNVdSb0FRd0EwS0FuWVBEN3FKTnpHaDlybTFOT0N6\nZnNISVpadUliVStwTWpyUUpnT3VycUdVVXMKQnFXTXhoV3I0SU5NVkUvaVlSSzBrMkJ6cEtMd0RS\nZTNVZVhwdjgrbk5VTlZmelFrSUZFUGFWZi9FNkxPRDVHdQpmTG5VSEQzWXZ3bVIxY3dyVFg4eHgr\nSkJaR1o3alN6KzNJbGVOc1psU2pWbDNaMVRidlREdEpuVzUrYnQ2SzQ5CnlRVWFENXVYNkxBaVBU\nREhaT0hwMTdRdUFCMENEeWdwSUJhQzF2d29HWk0zVjNRYmZtczVNQnF1OXVsbGJQZFEKZ0k2NVJ3\nUVRmZ1FRajk0emlhRk4weXFtL3hyZXk1ZjNod0FuLzIxbm0wTFFGdWJBZkgyZEZKWFY1SWxwQXp5\nNApLR0dmcE5Ec3p6U1pEclFFeGhRK3VZY25qWWR2OWQ5WGV2dWx4cHRLQnVoZWRVaXUwSWxadmxV\nNmFXR0tNOG5tCm8zTjFOeFlWMEFkZ0VCSThLZnY0ME1WNzkwZTFVSHNiWkwyTTM4TmRZMEhJeGRV\nbDVGMEovNEE5ZDhOWjlRcUMKcmlYcFhPajMvV05xQUU2MHJyeVZwaVkzVlRIdGR0OEJFU3NYVWtJ\nN2JJb2E5MUJkNjdsV051SlJ0ZUdGQ1FscwpRb2s0NTRYc2ZZQ05QSzVIQUJFQkFBR0pBYndFR0FF\nS0FDWVdJUVE1NjNwOUhlbXVjdmowb2l6QVk1N2dMMXRKCnd3VUNZT1ZrYUFJYkRBVUpBOEpuQUFB\nS0NSREFZNTdnTDF0Snd6RHVDLzlhS3pjdDZZZi9LM096VUhQejhZT0MKWExtcElRcmxyaW1RbUVQ\nQ0xSOGJkSG9NNENIMG1TRWY2N3dDNUFXVitkVlBTdGNvN1lPRWt6SnNQaVVhK0N3OQpXMHdmTDc2\naDMveVJyY3BvNEM5N0FhSmhiQWFRd3IraVFwamR5NFlxdTc2SllpVjRTWTE1V2Q3SE85UUwrMHZP\nCkY5WnJKalNKa3lQS3ZleWxocHcwUm1iR0RjQVEvVThYKzhIYWw5R3RxeDV2YkZHMDIzVEgvdEIz\nOEVFRjFOYVkKSVQ0TFQySExUTUtRZkd2bHZCQVVpRmY4UXUyR1RVWnA4K0FsT3RlVFlGZUtrUXVt\nWmRvRE5kcGludHh6UUg0awp0N2YyQzdhZ0k2OE9MRjdjb2E4WGxKdDNUYTdFQ2U5dWd0OFYzeXJS\nU05YTXZ5NlB1bFUrTzJmUi9BWFhQWHpzCmZyYnpSZ0RNMGVIdEkvQ3lYS1ZFWXUwNVpYVEppUURS\nMzhZNENONkQxNjlOZG11Q0xMb1dyOHNJck1FQ0JodjUKaWVJUHR6Z1UwT1M0dlRaWDU5anhTNFpL\ndHFIWk1iQ3BtSDByZHhzNHBXcGRRbnpCQUhZN0VjMW8va2dkSnkyZwowU1l0ekFmTFNtdEI0QUFH\nZC9ZamtjcVdtM2hTL1NTbTB6NmdLZFgraVJJPQo9d2o3QQotLS0tLUVORCBQR1AgUFVCTElDIEtF\nWSBCTE9DSy0tLS0tCg==\n",
"state": 2
}
Escrow Add request sent. Request ID: c61c0937-b896-4d72-a217-44aeeee0d2b1 state: ApprovalRequired
$
Approve the escrow:
(venv) $ signing-tool -c -t $APPTOKEN -a https://app.laavat.io/<CustomerName>/api/v1 escrow approve
Approve escrow
escrow ID: c61c0937-b896-4d72-a217-44aeeee0d2b1
{'description': 'testing escrow 1',
'escrow_type': 'GPG',
'id': 'c61c0937-b896-4d72-a217-44aeeee0d2b1',
'id_product': 'b508d600-977a-46f4-9070-5cf56646bae1',
'name': 'TestEscrow1',
'payload': 'LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkdEbFpHZ0JEQUNyUmRy\n'
'THoyTmtsamtUeUxycWhSUEJ0WGMreVh1TmFrVHo5VDJvNFM1d09tT3p5SkZsCnNhRE1seVI4dmRr\n'
'SzdxVnU0QjVjQlAvNTBOTGMxalgvcFJyeFN6RHdIRWptZnFUQ0RpNWVXMS8rWWFoVTh4OEkKdEhk\n'
'VEticTQvTkZxNyt0YWIvRjEySDRIMUk0RktEMXJnS0pOOVZ4c0paMHJ6ejJpSXVyYnFmUXBiU0Yr\n'
'emZrOQpTRVAwYnprQzBLMnlNWmtJeGsyd1dSQTJSa3hGWlR5YnAvaTVQQXVERVZsbExxbmJ4bTZG\n'
'RHZFdFZTbzRlMXBmCjdsM1pocmFOOXJySDJMMUx4VjdMSDVTbEN2OG4wZlJrQWtzMzhXNDBLcWZk\n'
'V0tZOVhPS0c4UXpUMGE5dSt6NjYKMUx0UDRuQjZRRVp0ZVkyL3E2U3VYSnRXSUZNSmdHeXE1Nk5R\n'
'MCsvdGQ1bHZsNE9aUXRmbkxiZVNYeW10ZnI5VAoyZG51SHkrYkNrWVV6Q1BOcm1TTFlPRnQ3YVZy\n'
'VHQrdkZkMnRGWG1sNlVZZVFoVDNPNEo4MDQwL3Y5Q0Y1OEVECmlSYlJkRFF4Y3FmK292NUdhb0t3\n'
'S3BaMTFHTHY5YmkvUjdTNHBlelBGaE1rUnJwRkZZYlJROGNkNjhwNUNzSkgKck93WVRhcXc3Y2gz\n'
'YVNzQUVRRUFBYlFvZEdWemRHTjFjM1J2YldWeUlEeDBaWE4wWTNWemRHOXRaWEpBWTNWegpkRzl0\n'
'WlhJdVkyOXRQb2tCMUFRVEFRb0FQaFloQkRucmVuMGQ2YTV5K1BTaUxNQmpudUF2VzBuREJRSmc1\n'
'V1JvCkFoc0RCUWtEd21jQUJRc0pDQWNDQmhVS0NRZ0xBZ1FXQWdNQkFoNEJBaGVBQUFvSkVNQmpu\n'
'dUF2VzBuRC9PTUwKK2dOd2xaMENTclBhMVNxcHdFUU1yTDR5bm1zRE1UOGdxSWJ0NFZwWk1jU2pa\n'
'clNtTW9CcVRQNUFKK0FiUGZ3Sgp2VlJVS3Y4UVdXMTRUY3NNbFQyZGdHbDN2NXpSUE1zQk1CdmtH\n'
'dysyVVdOOCtjSzh1M0FJZVZsanIwN2cxb3ZXCitXNFJEOVZJUVY3aUxQakVCbXE5L1VlV3ZUMzZl\n'
'NFlTUFNGT3hEeWQxdVpZbENXRm9BZUFvQkg3cmtPMTFNZXUKWEZ5bU5oa2lrT09xUUR5cDR1aGEv\n'
'amlXc1BYWTRtYzY4Vzl5bDNTZHRFL1dVMGZoU1NickQzWG9xQkswZyt4OQprTHJXdkxNeXBTYjRR\n'
'WklkNVpOcUFhWkxqdDZSQ0MzdmR6aHZNT01Icm1wWE9OTVREVVdrSnVlQUlpclBCbG0wClFCd21m\n'
'ZmNDK243V3RVOTdjWGtxOGZWaVlteWhCcTRRY0JlZnZQYVNPcCtzaVhzay9NL2duNk4raXR6UGR3\n'
'RjIKNkR4OWpjRWx6YkpFMGxFK0l4OWd3WGZicm9YcGpiMUU2MFpkWW9LSEdOclpJRWswR3lGbmNW\n'
'NzB4UUp2SVA5NApxMldnQjFHMUhwZE4zb0E0ZGtCbkh0S085cFhBUDk3aXk3SStZYXJ3L1hGaUFz\n'
'MUdYcWdQL3EzSEpGSkV0T2lwCkVya0JqUVJnNVdSb0FRd0EwS0FuWVBEN3FKTnpHaDlybTFOT0N6\n'
'ZnNISVpadUliVStwTWpyUUpnT3VycUdVVXMKQnFXTXhoV3I0SU5NVkUvaVlSSzBrMkJ6cEtMd0RS\n'
'ZTNVZVhwdjgrbk5VTlZmelFrSUZFUGFWZi9FNkxPRDVHdQpmTG5VSEQzWXZ3bVIxY3dyVFg4eHgr\n'
'SkJaR1o3alN6KzNJbGVOc1psU2pWbDNaMVRidlREdEpuVzUrYnQ2SzQ5CnlRVWFENXVYNkxBaVBU\n'
'REhaT0hwMTdRdUFCMENEeWdwSUJhQzF2d29HWk0zVjNRYmZtczVNQnF1OXVsbGJQZFEKZ0k2NVJ3\n'
'UVRmZ1FRajk0emlhRk4weXFtL3hyZXk1ZjNod0FuLzIxbm0wTFFGdWJBZkgyZEZKWFY1SWxwQXp5\n'
'NApLR0dmcE5Ec3p6U1pEclFFeGhRK3VZY25qWWR2OWQ5WGV2dWx4cHRLQnVoZWRVaXUwSWxadmxV\n'
'NmFXR0tNOG5tCm8zTjFOeFlWMEFkZ0VCSThLZnY0ME1WNzkwZTFVSHNiWkwyTTM4TmRZMEhJeGRV\n'
'bDVGMEovNEE5ZDhOWjlRcUMKcmlYcFhPajMvV05xQUU2MHJyeVZwaVkzVlRIdGR0OEJFU3NYVWtJ\n'
'N2JJb2E5MUJkNjdsV051SlJ0ZUdGQ1FscwpRb2s0NTRYc2ZZQ05QSzVIQUJFQkFBR0pBYndFR0FF\n'
'S0FDWVdJUVE1NjNwOUhlbXVjdmowb2l6QVk1N2dMMXRKCnd3VUNZT1ZrYUFJYkRBVUpBOEpuQUFB\n'
'S0NSREFZNTdnTDF0Snd6RHVDLzlhS3pjdDZZZi9LM096VUhQejhZT0MKWExtcElRcmxyaW1RbUVQ\n'
'Q0xSOGJkSG9NNENIMG1TRWY2N3dDNUFXVitkVlBTdGNvN1lPRWt6SnNQaVVhK0N3OQpXMHdmTDc2\n'
'aDMveVJyY3BvNEM5N0FhSmhiQWFRd3IraVFwamR5NFlxdTc2SllpVjRTWTE1V2Q3SE85UUwrMHZP\n'
'CkY5WnJKalNKa3lQS3ZleWxocHcwUm1iR0RjQVEvVThYKzhIYWw5R3RxeDV2YkZHMDIzVEgvdEIz\n'
'OEVFRjFOYVkKSVQ0TFQySExUTUtRZkd2bHZCQVVpRmY4UXUyR1RVWnA4K0FsT3RlVFlGZUtrUXVt\n'
'WmRvRE5kcGludHh6UUg0awp0N2YyQzdhZ0k2OE9MRjdjb2E4WGxKdDNUYTdFQ2U5dWd0OFYzeXJS\n'
'U05YTXZ5NlB1bFUrTzJmUi9BWFhQWHpzCmZyYnpSZ0RNMGVIdEkvQ3lYS1ZFWXUwNVpYVEppUURS\n'
'MzhZNENONkQxNjlOZG11Q0xMb1dyOHNJck1FQ0JodjUKaWVJUHR6Z1UwT1M0dlRaWDU5anhTNFpL\n'
'dHFIWk1iQ3BtSDByZHhzNHBXcGRRbnpCQUhZN0VjMW8va2dkSnkyZwowU1l0ekFmTFNtdEI0QUFH\n'
'ZC9ZamtjcVdtM2hTL1NTbTB6NmdLZFgraVJJPQo9d2o3QQotLS0tLUVORCBQR1AgUFVCTElDIEtF\n'
'WSBCTE9DSy0tLS0tCg==\n',
'state': 2}
Do you want approve this (Y/N): y
Escrow approved