@@ -287,6 +287,79 @@ var UTIL = require('../../lib/util');
287287 var pem = PEM . encode ( msg ) ;
288288 ASSERT . equal ( pem , _data . p12ecdsaCert ) ;
289289 } ) ;
290+ it ( 'Issue #1127 optional macData is okay rfc5280#section-4.1.1.2' , function ( ) {
291+ var b64Pfx = 'MIIKYAIBAzCCChwGCSqGSIb3DQEHAaCCCg0EggoJMIIKBTCCBhYGCS' +
292+ 'qGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE' +
293+ '/jCCBPowHAYKKoZIhvcNAQwBAzAOBAincEwP070FfwICB9AEggTYAp' +
294+ 'l1Qli9YrCjwjmLrbl4oOA4pMPgJts4t0kC8NSt16eJ9SZHF61R7xzT' +
295+ 'fsxP2OoUn0ZDcXERvNd0vv7gHNdLA4tz3pf95mRPtpt3ApqhF6A3pF' +
296+ 'ziC7YWu9Swf+I0HrCy1I4iHcqRNrfWxsXEZn+w3bkPRaS75MOpzKsJ' +
297+ 'IG8qWw1oe+W3X56lvjD69pcFEsrKZPA50WdIZ5HCtDzHnHkdo4HFR9' +
298+ 'qLHux8HYSo38gLj1fy4F2wu+lSa0e6KqHRdApzh8BM7r3JEOxvgZLw' +
299+ 'RgqHrsjW2MxTOuLhPpM0vCK8WrGjuKL+6Hy1WaTaLulgEMhZ2ZXGzD' +
300+ 'cTwyekTbETzAzLQ1xgEE/11+gKFac1DW7lGY6EM+Jtg8kyCOe0/ZR0' +
301+ '8ee7u5Iuhi5VmhYbeeFYOsq1+S/hjxYuQnqmt/4DPA+7j0pdB5krOL' +
302+ '8Uj67Y+UEJny+7kaz8cset3mFtbkfy1o3ngEdC4tVCROwp9C7uFSKT' +
303+ 'BrFBpLZAiF111Ad3Z54I4fk4oQFQ6yq3ScNvINaufiIxKuxOOP7nTj' +
304+ '1jF/lSPmD/25enJLENBel5fiPrMmktlE36vdanTDOB+xqvlfyUUva7' +
305+ 'U3VLKvpdQAYFoADxUH8huUzqhPDVrcnfuHutNeHykSEEKQ6L7JNYT+' +
306+ 'DwRynw8a7ptsOUeKe4r9Tm+XYENIciOr/va4EUlNplO50IQCdmNEmw' +
307+ 'qJnrwdc7af23YfzTrCq/dGEhNpaFWHciEIsUroQsygqkoFi4a3Bdx7' +
308+ 'CV775sy2FQM60/QZqnGJkf7jKHT3PKbID8XbAs4YQoOY17r88Mt9xP' +
309+ '5FWD+3nkxbiDlwaDLHFKm1pQDu5agpqX3q7SYgbfqCZZgQISmwRU2F' +
310+ '9kUrNehNs95blQYyRsLYXa4FUl3LvGrCRKSZ/lCy1jt96pL4c+42yI' +
311+ 'C/soH7cqBXUhoBFujJZ+rdeobtCtIG37BdifIRxM3Y9bvu0Lhj1L37' +
312+ 'lL6qKM0yW9oqmSynvktVckjGlVCEZDyE5ik0i973GEa9AGJSkqCZ4a' +
313+ 'y1zwH9peXakCIiTxL+i9T7HAB+a2h+lPeJQCXt8OTu397Ce/JseTwO' +
314+ 'Id30Sa1TspVpg6EWl6izSvu3fZ+HXVKs09HvcKwkJ5E2GNXt2lvjYn' +
315+ 'vCMw32OQzj1m585B7H/aFBRh9VyXRFW52whbI+DK8dSsiXaxUUZN5B' +
316+ 'H0KfRBqGZ1h9OuC0AH923ZTjPaHHhsxX/+1ZLVt/K7NOMSn4X6ZJXM' +
317+ 'NB0fAzC8d1xsTCPGUEck70KiV5SrhTcDWHqPecXRWWG2xz3F14c7QY' +
318+ 'UzH+oGnPsV+oGGwJWKM77X0mBYFDsKPFFMk0BtJQOOFDWFHYuILQrV' +
319+ 'Dsrq/n0oK+Z+V4ugTKdqllDSIzi0oe3kSVxd1SdQ8pWOnBbJtdqeFR' +
320+ 'PpV5dVCPjKo03kWR5nAaWRmpEco3ousI2RfOy2H22tzzGJjOdMlFr8' +
321+ 'Z+d+9uJ8Dj1hLqvx7E58KExsFTiz5rNzM9MzQZwAihCsfj6ngjfiBO' +
322+ 'DMPaUTTxQwG0JsnoS88BUSCaR/ALHRjinywWgchBWrkS0cu8/OVrkf' +
323+ 'grmrVNxnXgbPFJmP/4Sc82pxGZM5PYCyTRCXPeCDdetDYCCfVWaEoJ' +
324+ 'xmJTwWHp7cyvTwQNBO+61i3REx7RSNsDGB6TATBgkqhkiG9w0BCRUx' +
325+ 'BgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IADEAYQA3ADAAYgA4AGYAYw' +
326+ 'AtAGYAZQBjAGUALQA0ADkAZgA0AC0AOAA1AGUAYQAtAGUAYQA3ADYA' +
327+ 'ZQA1ADYANAA0AGMANQA0MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcg' +
328+ 'BvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEA' +
329+ 'bgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjAC' +
330+ 'AAUAByAG8AdgBpAGQAZQByMIID5wYJKoZIhvcNAQcGoIID2DCCA9QC' +
331+ 'AQAwggPNBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAjofJ+s8+' +
332+ '6CAgICB9CAggOgKKY/y0WZTbuOXeABYVpmuY5f1Ec3fD6fcNF1mOQm' +
333+ 'wCcl9GZdx4VKGnsz9HOz17WF0KtLB+2c7q+9qc7Ndvp2L4mFkXyp7o' +
334+ 'kKu72uPMDdEyeku2LEnopmYrFZmnoh/3KGLhr4FSQYJ9blY3Fk7Jxb' +
335+ 'JhiElHWZO8XMky41PdCCwawQKWmFlCxNPqrsGr7qrKU3uTO3A7gpgY' +
336+ 't1JlixfZeVeP/Z4ETvodvq4Cl3kcSQO+RSz0nDvqL6Z4F7PU2PSPbx' +
337+ 'olnfqpqO6UnwXnLNyhJqX3D+FrPXjI+Nv8MshtdUoHFe5MciPEDDIQ' +
338+ 'oo+3BYMgrYm+myv0/o9IUimLw8MH88U7lUm3KGVX+1hsdwMtzjeEtS' +
339+ 'bW+meL03dSfJRu2J+oe/pLRUuP4WSCIiWW4fi6L24knG0jaGAh4njM' +
340+ '16naME9243gdcBs8QgBpwIo9zUGS21gfbsluS3rVEOaK9zQMQGupM6' +
341+ 'VEeP3HSooz1jb2PYFcWqG6n+78KiMc+gMxBHLdXOKb7AbozOVPrR/g' +
342+ 'JjyW8lMqDm9Drf+bdweDIJGQuZJKKbeLSszI/iaxetwO3DFI9L32iG' +
343+ 'nHIFclIXZJ1VHG72ty4+ScA0YLYi92ONVqEmffIzoXcyR7521iFNKp' +
344+ '+ks6nagu+F0dl/KW0J22dKLmuNQhEteouoSXSHckyTdDIPqjt8a9vr' +
345+ 'zWMqSlqlnVbKDkjvMzGqllsNG3asMQxHVbo1mdN1JkhYCzUF/tMekR' +
346+ 'LAjEsEKHnqXQX8imQaq+i0YNfqPQ4Y7q8VlyOdIJgFGb3Gw0vhlr98' +
347+ 'mwvfc1BpBThJ/Xs7w+Nx2PL6SW9Me3GyxxJ1eeSxnf5Lcpjzxe0sOs' +
348+ '4Z78F0Ox7xtmDhoWtD06TNj8YU65Vdz5PGkUkKndEBTBnEcSO0CCGX' +
349+ 'S+wI/ILuANXjwQ5frBi4bFmIv+rwzOgpd3Vp1hIvQt1TydtvIssTyS' +
350+ 'BofHtOL09hy3yZkndA1u6O23lyrLrADF1cgsBZ03xL+mMpeIYCDRFO' +
351+ 'RrgUK/D7fIi19lmr17BzZL199edFfzAk93gI4uEUpp4dTbyqspi2rE' +
352+ 'CtNYWWp4/g7xuTUlNkD8P/6IgkBDS4D162WWYdF9LXAFNRKrcc2Uzg' +
353+ 'bTYso2OA6K25imD9yOM+uWC+G4WcW/S2xSxgHiRGz0sUuM4V+Qjela' +
354+ 'I9J15ZRCTGNCz1qvN1TIaragHlv2+lQ91WDRd/QnIZAHcxj0j5wmh1' +
355+ 'JFVLNkKRvDA7MB8wBwYFKw4DAhoEFMRoBxm71oVVRpPf9w7EBxc/rX' +
356+ 'kDBBQv5N2Yn6i7hF+N3gzU7DWLCic+RAICB9A=' ;
357+ var p12Der = forge . util . decode64 ( b64Pfx ) ;
358+ var p12Asn1 = forge . asn1 . fromDer ( p12Der ) ;
359+ var p12 = forge . pkcs12 . pkcs12FromAsn1 ( p12Asn1 ) ;
360+ ASSERT . ok ( p12 , 'pkcs12FromAsn1 should return an object' ) ;
361+ ASSERT . ok ( Array . isArray ( p12 . safeContents ) , 'safeContents should exist' ) ;
362+ } ) ;
290363 } ) ;
291364
292365 _data = {
@@ -663,77 +736,4 @@ var UTIL = require('../../lib/util');
663736 'mthwYiI/c1op4Y+H0xLUp2v8iLWHIDqAZA89\r\n' +
664737 '-----END CERTIFICATE-----\r\n'
665738 } ;
666- it ( 'Issue #1127 optional macData is okay rfc5280#section-4.1.1.2' , function ( ) {
667- const b64Pfx = 'MIIKYAIBAzCCChwGCSqGSIb3DQEHAaCCCg0EggoJMIIKBTCCBhYGCS' +
668- 'qGSIb3DQEHAaCCBgcEggYDMIIF/zCCBfsGCyqGSIb3DQEMCgECoIIE' +
669- '/jCCBPowHAYKKoZIhvcNAQwBAzAOBAincEwP070FfwICB9AEggTYAp' +
670- 'l1Qli9YrCjwjmLrbl4oOA4pMPgJts4t0kC8NSt16eJ9SZHF61R7xzT' +
671- 'fsxP2OoUn0ZDcXERvNd0vv7gHNdLA4tz3pf95mRPtpt3ApqhF6A3pF' +
672- 'ziC7YWu9Swf+I0HrCy1I4iHcqRNrfWxsXEZn+w3bkPRaS75MOpzKsJ' +
673- 'IG8qWw1oe+W3X56lvjD69pcFEsrKZPA50WdIZ5HCtDzHnHkdo4HFR9' +
674- 'qLHux8HYSo38gLj1fy4F2wu+lSa0e6KqHRdApzh8BM7r3JEOxvgZLw' +
675- 'RgqHrsjW2MxTOuLhPpM0vCK8WrGjuKL+6Hy1WaTaLulgEMhZ2ZXGzD' +
676- 'cTwyekTbETzAzLQ1xgEE/11+gKFac1DW7lGY6EM+Jtg8kyCOe0/ZR0' +
677- '8ee7u5Iuhi5VmhYbeeFYOsq1+S/hjxYuQnqmt/4DPA+7j0pdB5krOL' +
678- '8Uj67Y+UEJny+7kaz8cset3mFtbkfy1o3ngEdC4tVCROwp9C7uFSKT' +
679- 'BrFBpLZAiF111Ad3Z54I4fk4oQFQ6yq3ScNvINaufiIxKuxOOP7nTj' +
680- '1jF/lSPmD/25enJLENBel5fiPrMmktlE36vdanTDOB+xqvlfyUUva7' +
681- 'U3VLKvpdQAYFoADxUH8huUzqhPDVrcnfuHutNeHykSEEKQ6L7JNYT+' +
682- 'DwRynw8a7ptsOUeKe4r9Tm+XYENIciOr/va4EUlNplO50IQCdmNEmw' +
683- 'qJnrwdc7af23YfzTrCq/dGEhNpaFWHciEIsUroQsygqkoFi4a3Bdx7' +
684- 'CV775sy2FQM60/QZqnGJkf7jKHT3PKbID8XbAs4YQoOY17r88Mt9xP' +
685- '5FWD+3nkxbiDlwaDLHFKm1pQDu5agpqX3q7SYgbfqCZZgQISmwRU2F' +
686- '9kUrNehNs95blQYyRsLYXa4FUl3LvGrCRKSZ/lCy1jt96pL4c+42yI' +
687- 'C/soH7cqBXUhoBFujJZ+rdeobtCtIG37BdifIRxM3Y9bvu0Lhj1L37' +
688- 'lL6qKM0yW9oqmSynvktVckjGlVCEZDyE5ik0i973GEa9AGJSkqCZ4a' +
689- 'y1zwH9peXakCIiTxL+i9T7HAB+a2h+lPeJQCXt8OTu397Ce/JseTwO' +
690- 'Id30Sa1TspVpg6EWl6izSvu3fZ+HXVKs09HvcKwkJ5E2GNXt2lvjYn' +
691- 'vCMw32OQzj1m585B7H/aFBRh9VyXRFW52whbI+DK8dSsiXaxUUZN5B' +
692- 'H0KfRBqGZ1h9OuC0AH923ZTjPaHHhsxX/+1ZLVt/K7NOMSn4X6ZJXM' +
693- 'NB0fAzC8d1xsTCPGUEck70KiV5SrhTcDWHqPecXRWWG2xz3F14c7QY' +
694- 'UzH+oGnPsV+oGGwJWKM77X0mBYFDsKPFFMk0BtJQOOFDWFHYuILQrV' +
695- 'Dsrq/n0oK+Z+V4ugTKdqllDSIzi0oe3kSVxd1SdQ8pWOnBbJtdqeFR' +
696- 'PpV5dVCPjKo03kWR5nAaWRmpEco3ousI2RfOy2H22tzzGJjOdMlFr8' +
697- 'Z+d+9uJ8Dj1hLqvx7E58KExsFTiz5rNzM9MzQZwAihCsfj6ngjfiBO' +
698- 'DMPaUTTxQwG0JsnoS88BUSCaR/ALHRjinywWgchBWrkS0cu8/OVrkf' +
699- 'grmrVNxnXgbPFJmP/4Sc82pxGZM5PYCyTRCXPeCDdetDYCCfVWaEoJ' +
700- 'xmJTwWHp7cyvTwQNBO+61i3REx7RSNsDGB6TATBgkqhkiG9w0BCRUx' +
701- 'BgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IADEAYQA3ADAAYgA4AGYAYw' +
702- 'AtAGYAZQBjAGUALQA0ADkAZgA0AC0AOAA1AGUAYQAtAGUAYQA3ADYA' +
703- 'ZQA1ADYANAA0AGMANQA0MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcg' +
704- 'BvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEA' +
705- 'bgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjAC' +
706- 'AAUAByAG8AdgBpAGQAZQByMIID5wYJKoZIhvcNAQcGoIID2DCCA9QC' +
707- 'AQAwggPNBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAjofJ+s8+' +
708- '6CAgICB9CAggOgKKY/y0WZTbuOXeABYVpmuY5f1Ec3fD6fcNF1mOQm' +
709- 'wCcl9GZdx4VKGnsz9HOz17WF0KtLB+2c7q+9qc7Ndvp2L4mFkXyp7o' +
710- 'kKu72uPMDdEyeku2LEnopmYrFZmnoh/3KGLhr4FSQYJ9blY3Fk7Jxb' +
711- 'JhiElHWZO8XMky41PdCCwawQKWmFlCxNPqrsGr7qrKU3uTO3A7gpgY' +
712- 't1JlixfZeVeP/Z4ETvodvq4Cl3kcSQO+RSz0nDvqL6Z4F7PU2PSPbx' +
713- 'olnfqpqO6UnwXnLNyhJqX3D+FrPXjI+Nv8MshtdUoHFe5MciPEDDIQ' +
714- 'oo+3BYMgrYm+myv0/o9IUimLw8MH88U7lUm3KGVX+1hsdwMtzjeEtS' +
715- 'bW+meL03dSfJRu2J+oe/pLRUuP4WSCIiWW4fi6L24knG0jaGAh4njM' +
716- '16naME9243gdcBs8QgBpwIo9zUGS21gfbsluS3rVEOaK9zQMQGupM6' +
717- 'VEeP3HSooz1jb2PYFcWqG6n+78KiMc+gMxBHLdXOKb7AbozOVPrR/g' +
718- 'JjyW8lMqDm9Drf+bdweDIJGQuZJKKbeLSszI/iaxetwO3DFI9L32iG' +
719- 'nHIFclIXZJ1VHG72ty4+ScA0YLYi92ONVqEmffIzoXcyR7521iFNKp' +
720- '+ks6nagu+F0dl/KW0J22dKLmuNQhEteouoSXSHckyTdDIPqjt8a9vr' +
721- 'zWMqSlqlnVbKDkjvMzGqllsNG3asMQxHVbo1mdN1JkhYCzUF/tMekR' +
722- 'LAjEsEKHnqXQX8imQaq+i0YNfqPQ4Y7q8VlyOdIJgFGb3Gw0vhlr98' +
723- 'mwvfc1BpBThJ/Xs7w+Nx2PL6SW9Me3GyxxJ1eeSxnf5Lcpjzxe0sOs' +
724- '4Z78F0Ox7xtmDhoWtD06TNj8YU65Vdz5PGkUkKndEBTBnEcSO0CCGX' +
725- 'S+wI/ILuANXjwQ5frBi4bFmIv+rwzOgpd3Vp1hIvQt1TydtvIssTyS' +
726- 'BofHtOL09hy3yZkndA1u6O23lyrLrADF1cgsBZ03xL+mMpeIYCDRFO' +
727- 'RrgUK/D7fIi19lmr17BzZL199edFfzAk93gI4uEUpp4dTbyqspi2rE' +
728- 'CtNYWWp4/g7xuTUlNkD8P/6IgkBDS4D162WWYdF9LXAFNRKrcc2Uzg' +
729- 'bTYso2OA6K25imD9yOM+uWC+G4WcW/S2xSxgHiRGz0sUuM4V+Qjela' +
730- 'I9J15ZRCTGNCz1qvN1TIaragHlv2+lQ91WDRd/QnIZAHcxj0j5wmh1' +
731- 'JFVLNkKRvDA7MB8wBwYFKw4DAhoEFMRoBxm71oVVRpPf9w7EBxc/rX' +
732- 'kDBBQv5N2Yn6i7hF+N3gzU7DWLCic+RAICB9A=' ;
733- const p12Der = forge . util . decode64 ( b64Pfx ) ;
734- const p12Asn1 = forge . asn1 . fromDer ( p12Der ) ;
735- const p12 = forge . pkcs12 . pkcs12FromAsn1 ( p12Asn1 ) ;
736- ASSERT . ok ( p12 , 'pkcs12FromAsn1 should return an object' ) ;
737- ASSERT . ok ( Array . isArray ( p12 . safeContents ) , 'safeContents should exist' ) ;
738- } ) ;
739739} ) ( ) ;
0 commit comments