@@ -28,43 +28,17 @@ public abstract class ManagementBase : RemoteFileJobTypeBase, IManagementJobExte
2828 public JobResult ProcessJob ( ManagementJobConfiguration config )
2929 {
3030 ILogger logger = LogHandler . GetClassLogger ( this . GetType ( ) ) ;
31- logger . LogDebug ( $ "Begin { config . Capability } for job id { config . JobId } ...") ;
32- logger . LogDebug ( $ "Server: { config . CertificateStoreDetails . ClientMachine } ") ;
33- logger . LogDebug ( $ "Store Path: { config . CertificateStoreDetails . StorePath } ") ;
34- logger . LogDebug ( $ "Job Properties:") ;
35- foreach ( KeyValuePair < string , object > keyValue in config . JobProperties == null ? new Dictionary < string , object > ( ) : config . JobProperties )
36- {
37- logger . LogDebug ( $ " { keyValue . Key } : { keyValue . Value } ") ;
38- }
3931
4032 ICertificateStoreSerializer certificateStoreSerializer = GetCertificateStoreSerializer ( config . CertificateStoreDetails . Properties ) ;
4133
4234 try
4335 {
44- string userName = PAMUtilities . ResolvePAMField ( _resolver , logger , "Server User Name" , config . ServerUsername ) ;
45- string userPassword = PAMUtilities . ResolvePAMField ( _resolver , logger , "Server Password" , config . ServerPassword ) ;
46- string storePassword = PAMUtilities . ResolvePAMField ( _resolver , logger , "Store Password" , config . CertificateStoreDetails . StorePassword ) ;
47-
4836 ApplicationSettings . Initialize ( this . GetType ( ) . Assembly . Location ) ;
49- dynamic properties = JsonConvert . DeserializeObject ( config . CertificateStoreDetails . Properties . ToString ( ) ) ;
50- string sudoImpersonatedUser = properties . SudoImpersonatedUser == null || string . IsNullOrEmpty ( properties . SudoImpersonatedUser . Value ) ?
51- ApplicationSettings . DefaultSudoImpersonatedUser :
52- properties . SudoImpersonatedUser . Value ;
53- bool removeRootCertificate = properties . RemoveRootCertificate == null || string . IsNullOrEmpty ( properties . RemoveRootCertificate . Value ) ?
54- false :
55- Convert . ToBoolean ( properties . RemoveRootCertificate . Value ) ;
56- bool includePortInSPN = properties . IncludePortInSPN == null || string . IsNullOrEmpty ( properties . IncludePortInSPN . Value ) ?
57- false :
58- Convert . ToBoolean ( properties . IncludePortInSPN . Value ) ;
59-
60- ApplicationSettings . FileTransferProtocolEnum fileTransferProtocol = ApplicationSettings . FileTransferProtocol ;
61- if ( properties . FileTransferProtocol != null && ! string . IsNullOrEmpty ( properties . FileTransferProtocol . Value ) )
62- {
63- Enum . TryParse ( properties . FileTransferProtocol . Value , out fileTransferProtocol ) ;
64- }
6537
66- certificateStore = new RemoteCertificateStore ( config . CertificateStoreDetails . ClientMachine , userName , userPassword , config . CertificateStoreDetails . StorePath , storePassword , fileTransferProtocol , includePortInSPN ) ;
67- certificateStore . Initialize ( sudoImpersonatedUser ) ;
38+ SetJobProperties ( config , config . CertificateStoreDetails , logger ) ;
39+
40+ certificateStore = new RemoteCertificateStore ( config . CertificateStoreDetails . ClientMachine , UserName , UserPassword , config . CertificateStoreDetails . StorePath , StorePassword , FileTransferProtocol , SSHPort , IncludePortInSPN ) ;
41+ certificateStore . Initialize ( SudoImpersonatedUser ) ;
6842
6943 PathFile storePathFile = RemoteCertificateStore . SplitStorePathFile ( config . CertificateStoreDetails . StorePath ) ;
7044
@@ -80,8 +54,8 @@ public JobResult ProcessJob(ManagementJobConfiguration config)
8054 throw new RemoteFileException ( $ "Certificate store { config . CertificateStoreDetails . StorePath } does not exist on server { config . CertificateStoreDetails . ClientMachine } .") ;
8155 }
8256 certificateStore . LoadCertificateStore ( certificateStoreSerializer , false ) ;
83- certificateStore . AddCertificate ( ( config . JobCertificate . Alias ?? new X509Certificate2 ( Convert . FromBase64String ( config . JobCertificate . Contents ) , config . JobCertificate . PrivateKeyPassword , X509KeyStorageFlags . EphemeralKeySet ) . Thumbprint ) , config . JobCertificate . Contents , config . Overwrite , config . JobCertificate . PrivateKeyPassword , removeRootCertificate ) ;
84- certificateStore . SaveCertificateStore ( certificateStoreSerializer . SerializeRemoteCertificateStore ( certificateStore . GetCertificateStore ( ) , storePathFile . Path , storePathFile . File , storePassword , certificateStore . RemoteHandler ) ) ;
57+ certificateStore . AddCertificate ( ( config . JobCertificate . Alias ?? new X509Certificate2 ( Convert . FromBase64String ( config . JobCertificate . Contents ) , config . JobCertificate . PrivateKeyPassword , X509KeyStorageFlags . EphemeralKeySet ) . Thumbprint ) , config . JobCertificate . Contents , config . Overwrite , config . JobCertificate . PrivateKeyPassword , RemoveRootCertificate ) ;
58+ certificateStore . SaveCertificateStore ( certificateStoreSerializer . SerializeRemoteCertificateStore ( certificateStore . GetCertificateStore ( ) , storePathFile . Path , storePathFile . File , StorePassword , certificateStore . RemoteHandler ) ) ;
8559
8660 logger . LogDebug ( $ "END add Operation for { config . CertificateStoreDetails . StorePath } on { config . CertificateStoreDetails . ClientMachine } .") ;
8761 break ;
@@ -96,7 +70,7 @@ public JobResult ProcessJob(ManagementJobConfiguration config)
9670 {
9771 certificateStore . LoadCertificateStore ( certificateStoreSerializer , false ) ;
9872 certificateStore . DeleteCertificateByAlias ( config . JobCertificate . Alias ) ;
99- certificateStore . SaveCertificateStore ( certificateStoreSerializer . SerializeRemoteCertificateStore ( certificateStore . GetCertificateStore ( ) , storePathFile . Path , storePathFile . File , storePassword , certificateStore . RemoteHandler ) ) ;
73+ certificateStore . SaveCertificateStore ( certificateStoreSerializer . SerializeRemoteCertificateStore ( certificateStore . GetCertificateStore ( ) , storePathFile . Path , storePathFile . File , StorePassword , certificateStore . RemoteHandler ) ) ;
10074 }
10175 logger . LogDebug ( $ "END Delete Operation for { config . CertificateStoreDetails . StorePath } on { config . CertificateStoreDetails . ClientMachine } .") ;
10276 break ;
0 commit comments