RBIXÜ*$ [“©œ@:ÒÛŽX"Ò‚Y˜ÁMnB-1B0B0Ibˆ : \)& : ())) \)& : \) & ) C : \) D& )]% &(4 ^&jx __script__x&test/test_gem_commands_cert_command.rbB0ps test/unitSrequires gemutilitiesS active_pathxFileSdirnameS expand_pathSjoinSrequiresrubygems/commands/cert_commandSrequirexOpenSSLSconst_defined?s<`gem cert` tests are being skipped, module OpenSSL not foundSwarnSconst_defined?xRubyGemTestCasexTestGemCommandsCertCommandMnB-1B0B0Ib| 6 ) (3   )&   )& ) & )&   )&   )&   )&   )&   )jxTestGemCommandsCertCommandx&test/test_gem_commands_cert_command.rbB0pxModuleSkind_of?SclassMnB-1B0B0Ib7?& )&% ) &&  (  & ())& : :))& : :))& :)& :)jxsetupx&test/test_gem_commands_cert_command.rbB1pSsetupx trust_dirxGemxSecurityxOPTS[]x@orig_security_trust_dirx@tempdirx trust_dirS[]=xCommandsx CertCommandSnewx@cmdS active_pathxFileSdirnameS expand_pathsgem-private_key.pemsdataSjoinx FileUtilsScpsgem-public_cert.pemSjoinScpSjoinx@cert_file_nameSjoinx@pkey_file_namennpp pB0B2B12pB3B7B13pB8B21B15pB22B37B16pB38B48B18pB49B64B20pB65B85B22pB86B106B23pB107B119B25pB120B133B26nnppxrootxsetupS__add_method__MnB-1B0B0Ibd7% )&&?jxteardownx&test/test_gem_commands_cert_command.rbB0px@orig_security_trust_dirx trust_dirxGemxSecurityxOPTS[]=SteardownnnpppB0B2B29pB3B18B30pB19B24B32nnnxteardownS__add_method__MnB-1B0B0Ib$7 m 6(&\* +%i(,%()(j2(&( : \) &( : \) jxtest_execute_addx&test/test_gem_commands_cert_command.rbB1px@uiMnB-1B-1B0Ibd& :\( :9 )-x __block__x&test/test_gem_commands_cert_command.rbB0ps--addx@cert_file_nameSto_ssxhandle_optionsx@cmdSsendnnpppB0B0B36pB1B24B37nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalueSoutputs'Added '/CN=rubygems/DC=example/DC=com' S assert_equalSerrorsS assert_equalnnppB9B23B24ppB0B2B35pB3B43B36pB44B57B40pB58B72B41nnppx@lrextest_execute_addS__add_method__MnB-1B0B0Ibä7)&)& m 6(&\*  ;%i8,%( 9( j2( & :()&( : \)&( : \)&( : \)& \)&( : \)& :) )! \)"& #:)$)% \)&jxtest_execute_buildx&test/test_gem_commands_cert_command.rbB2p'x@cert_file_namex FileUtilsSrmx@pkey_file_nameSrmx@uiMnB-1B-1B0Ibœ& m6(&* %%i",%(#2(-x __block__x&test/test_gem_commands_cert_command.rbB0px@tempdirMnB-1B-1B0IbH& : : )-x __block__x&test/test_gem_commands_cert_command.rbB0ps--buildsnobody@example.comxhandle_optionsx@cmdSsendnnpppB0B0B49pB1B17B50nnnxDirxLongReturnExceptionSallocateSchdirS is_returnSvaluennppB8B20B21ppB0B0B48pB1B38B49nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalues SoutputSsplitSshifts Public Cert: gem-public_cert.pemS assert_equalSshifts Private Key: gem-private_key.pemS assert_equalSshifts9Don't forget to move the key file to somewhere private...S assert_equalS assert_equalSerrorsS assert_equalsgem-private_key.pemx@tempdirxFileSjoinSexist?Sassertsgem-public_cert.pemSjoinSexist?SassertnnppB25B39B40p pB0B2B44pB3B10B45pB11B18B46pB19B59B48pB60B72B54pB73B86B56pB87B100B57pB101B114B58pB115B125B60pB126B139B62pB140B161B64pB162B184B65nnppx@lrexoutputxtest_execute_buildS__add_method__MnB-1B0B0Ib7 m 6(&\* +%i(,%()(j2(&( : \) &( : \) & )() \)jxtest_execute_certificatex&test/test_gem_commands_cert_command.rbB1px@uiMnB-1B-1B0Ibd& :\( :9 )-x __block__x&test/test_gem_commands_cert_command.rbB0ps --certificatex@cert_file_nameSto_ssxhandle_optionsx@cmdSsendnnpppB0B0B69pB1B24B70nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalueSoutputsS assert_equalSerrorS assert_equalx issuer_certxGemxSecurityxOPTS[]Sto_sx@cert_file_namexFileSreadS assert_equalnnppB9B23B24ppB0B2B68pB3B43B69pB44B57B73pB58B71B74pB72B99B76nnppx@lrextest_execute_certificateS__add_method__MnB-1B0B0Ib$7 m 6(&\* +%i(,%()(j2(&( : \) &( : \) jxtest_execute_listx&test/test_gem_commands_cert_command.rbB1px@uiMnB-1B-1B0Ib<& : )-x __block__x&test/test_gem_commands_cert_command.rbB0ps--listxhandle_optionsx@cmdSsendnnpppB0B0B81pB1B14B82nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalueSoutputs/CN=rubygems/DC=example/DC=com S assert_equalSerrorsS assert_equalnnppB9B23B24ppB0B2B80pB3B43B81pB44B57B85pB58B72B86nnppx@lrextest_execute_listS__add_method__MnB-1B0B0Ib7 m 6(&\* +%i(,%()(j2(&( : \) &( : \) & )() \)jxtest_execute_private_keyx&test/test_gem_commands_cert_command.rbB1px@uiMnB-1B-1B0Ibd& :\( :9 )-x __block__x&test/test_gem_commands_cert_command.rbB0ps --private-keyx@pkey_file_nameSto_ssxhandle_optionsx@cmdSsendnnpppB0B0B90pB1B24B91nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalueSoutputsS assert_equalSerrorS assert_equalx issuer_keyxGemxSecurityxOPTS[]Sto_sx@pkey_file_namexFileSreadS assert_equalnnppB9B23B24ppB0B2B89pB3B43B90pB44B57B94pB58B71B95pB72B99B97nnppx@lrextest_execute_private_keyS__add_method__MnB-1B0B0Ibt7 m 6(&\* +%i(,%()(j2(&( : \) &( : \) &)T U \)jxtest_execute_removex&test/test_gem_commands_cert_command.rbB1px@uiMnB-1B-1B0IbH& : : )-x __block__x&test/test_gem_commands_cert_command.rbB0ps--removesrubygemsxhandle_optionsx@cmdSsendnnpppB0B0B102pB1B17B103nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalueSoutputs)Removed '/CN=rubygems/DC=example/DC=com' S assert_equalSerrorsS assert_equalx@cert_file_namexFileSexist?SassertnnppB9B23B24ppB0B2B101pB3B43B102pB44B57B106pB58B71B107pB72B92B109nnppx@lrextest_execute_removeS__add_method__MnB-1B0B0Ib$7 m 6(&\* +%i(,%()(j2(&( : \) &( : \) jxtest_execute_signx&test/test_gem_commands_cert_command.rbB1p x@uiMnB-1B-1B0IbÌ& :\( :9 :\( :9 :\( :9  ) -x __block__x&test/test_gem_commands_cert_command.rbB0p s-Kx@pkey_file_nameSto_sss-Cx@cert_file_nameSto_ss--signSto_sxhandle_optionsx@cmdSsendnnpppB0B0B113pB1B50B114nnnxLongReturnExceptionSallocateSuse_uiS is_returnSvalueSvalueSoutputsS assert_equalSerrorS assert_equalnnppB9B23B24ppB0B2B112pB3B43B113pB44B57B119pB58B72B120nnppx@lrextest_execute_signS__add_method__nnpp pB0B12B125pB13B21B12pB22B30B29pB31B39B35pB40B48B44pB49B57B68pB58B66B80pB67B75B89pB76B84B101pB85B94B112nnnx__class_init__S__class_init__nnpppB0B9B1pB10B37B2pB38B47B4pB48B55B6pB56B68B7pB69B97B125nnn