@@ -28,43 +28,17 @@ public abstract class ManagementBase : RemoteFileJobTypeBase, IManagementJobExte
28
28
public JobResult ProcessJob ( ManagementJobConfiguration config )
29
29
{
30
30
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
- }
39
31
40
32
ICertificateStoreSerializer certificateStoreSerializer = GetCertificateStoreSerializer ( config . CertificateStoreDetails . Properties ) ;
41
33
42
34
try
43
35
{
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
-
48
36
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
- }
65
37
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 ) ;
68
42
69
43
PathFile storePathFile = RemoteCertificateStore . SplitStorePathFile ( config . CertificateStoreDetails . StorePath ) ;
70
44
@@ -80,8 +54,8 @@ public JobResult ProcessJob(ManagementJobConfiguration config)
80
54
throw new RemoteFileException ( $ "Certificate store { config . CertificateStoreDetails . StorePath } does not exist on server { config . CertificateStoreDetails . ClientMachine } .") ;
81
55
}
82
56
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 ) ) ;
85
59
86
60
logger . LogDebug ( $ "END add Operation for { config . CertificateStoreDetails . StorePath } on { config . CertificateStoreDetails . ClientMachine } .") ;
87
61
break ;
@@ -96,7 +70,7 @@ public JobResult ProcessJob(ManagementJobConfiguration config)
96
70
{
97
71
certificateStore . LoadCertificateStore ( certificateStoreSerializer , false ) ;
98
72
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 ) ) ;
100
74
}
101
75
logger . LogDebug ( $ "END Delete Operation for { config . CertificateStoreDetails . StorePath } on { config . CertificateStoreDetails . ClientMachine } .") ;
102
76
break ;
0 commit comments