Step 0 – Know the Environment
SDM Environmentmy $key_store = $NX_ROOT . "/pdmconf/nx.keystore"; my $nx_env = $NX_ROOT . "/NX.env"; my $pdm_options_mgr = $NX_ROOT . "/bin/pdm_options_mgr"; my $java_lib = $NX_ROOT . "/java/lib"; my $key_tool = $NX_JRE_INSTALL_DIR . "/bin/keytool"; my $jre = $NX_JRE_INSTALL_DIR . "/bin/java";
Step 1 – Get encrytped string from NX.env
Get NX.env – NX_KEYSTORE_REFopen(NX, '<', "$nx_env") or die "$!\n\tCannot access $nx_env for reading.\n"; my $keystore_str; while (<NX>) { chomp; if (index($_, "NX_KEYSTORE_REF") == 1) { $keystore_str = substr $_, indes($_, '=')+1; last; } } close(NX); return $keystore_str;
Step 2 – Decrypt NX_KEYSTORE_REF
Decrypt NX_KEYSTORE_REFpush my @jars, qw(sd-utils.jar bc-fips-1.0.2.1.jar bctls-fips-1.0.12.2.jar log4j-api-2.17.1.jar log4j-core-2.17.1.jar); if ($is_nt) { map { $_ = '"' . $java_lib . "\\" . $_ . '"' ] } @jars; $get_cmd = "\"$jre\"" . " -cp " . join($sep, @jars) . "$sep\. com.ca.ServicePlus.util.NXEncryption $incoming $nul"; } else { $get_cmd = $jre . " -cp " . join($sep, @jars) . "$sep\. com.ca.ServicePlus.util.Encryption $incoming $nul;"; } my $secret = map { split /\'/ } grep { /Output =/ } \'$get_cmd\';
Step 3 – List Certificates in keystore
keytool -listif ($is_nt) { map { $_ = '"' . $java_lib . "\\" . $_ . '"' ] } @jars; $get_cmd = "\"$key_tool\" -list -keystore \"$key_store\" -storepass $store_pass -v"; } else { $get_cmd = "$key_tool -list -keystore $key_store -storepass $store_pass -v"; }
NX_KEYSTORE_REF=84188bfa-99f9-4995-993f-d002729d1cea "E:\CA\SC\JRE\11.0.18\bin\keytool.exe" -list -keystore "E:\CA\SDM\pdmconf\nx.keystore" -storepass zQfYon3aSK
