{"id":321,"date":"2024-02-19T11:53:00","date_gmt":"2024-02-19T11:53:00","guid":{"rendered":"https:\/\/kyliewilson.co.uk\/?p=321"},"modified":"2024-05-30T20:25:45","modified_gmt":"2024-05-30T19:25:45","slug":"rpadacertificaterenewal","status":"publish","type":"post","link":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/","title":{"rendered":"RPADACertificateRenewal"},"content":{"rendered":"<h2 class=\"wp-block-post-title\">RPADACertificateRenewal<\/h2>\n\n\n<p>This program automates a complex certificate renewal process in the Kofax RPA system, reducing human error and saving many hours of downtime.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Problem<\/h3>\n\n\n\n<p>While Kofax RPA does use certificates for various connections between servers, these certificates are not unique to us as a customer, so we considered this a security risk. To mitigate this risk, I generated unique self-signed certificates, however this led to a complex renewal process with plenty of room for human error, and often took several attempts before the RPA system could be brought back online. To highlight the complexity of this task, here&#8217;s a diagram of just one set of certificates:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a49e0c4&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a49e0c4\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"649\" height=\"537\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/CertDiagram.png\" alt=\"\" class=\"wp-image-169\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/CertDiagram.png 649w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/CertDiagram-300x248.png 300w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Solution<\/h3>\n\n\n\n<p>I automated the renewal process by developing RPADACertificateRenewal, which automatically generates and deploys new certificates for every server\/service, and restarts the RPA system.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a49e73b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a49e73b\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"582\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot1_redacted-1024x582.png\" alt=\"\" class=\"wp-image-357\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot1_redacted-1024x582.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot1_redacted-300x171.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot1_redacted-768x437.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot1_redacted.png 1257w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a49ebb1&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a49ebb1\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot2_redacted-1024x527.png\" alt=\"\" class=\"wp-image-358\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot2_redacted-1024x527.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot2_redacted-300x154.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot2_redacted-768x395.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot2_redacted-1536x790.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_console_screenshot2_redacted.png 1831w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Technologies<\/h3>\n\n\n\n<p>I used several technologies to develop this service:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Microsoft .NET Framework \/ C#<\/h4>\n\n\n\n<p>I used the Microsoft .NET Framework to develop a console application written in C#.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a49f334&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a49f334\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"366\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot-1-1024x366.png\" alt=\"\" class=\"wp-image-351\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot-1-1024x366.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot-1-300x107.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot-1-768x274.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot-1-1536x548.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot-1.png 1888w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">OpenSSL<\/h4>\n\n\n\n<p>Because RPA expects certificates in the pem format, I used OpenSSL to convert PKCS #12 certificates into public\/private pem certificates.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a49f953&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a49f953\" class=\"wp-block-image size-large is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot5-1024x562.png\" alt=\"\" class=\"wp-image-371\" style=\"width:764px;height:auto\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot5-1024x562.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot5-300x165.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot5-768x421.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot5-1536x842.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot5.png 1601w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a49fde7&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a49fde7\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"166\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_cert_screenshot.png\" alt=\"\" class=\"wp-image-375\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_cert_screenshot.png 559w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_cert_screenshot-300x89.png 300w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Java<\/h4>\n\n\n\n<p>I used the Java keytool to generate PKCS #12 certificates. <\/p>\n\n\n\n<p>Some certificates also need to be automatically added to the Java cacerts keystore on certain RPA servers:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a4a04e0&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a4a04e0\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot6-1024x562.png\" alt=\"\" class=\"wp-image-378\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot6-1024x562.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot6-300x165.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot6-768x421.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot6-1536x843.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot6.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">JSON<\/h4>\n\n\n\n<p>Program settings are stored in a JSON file:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a4a0b74&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a4a0b74\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"569\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_settings_screenshot-1024x569.png\" alt=\"\" class=\"wp-image-347\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_settings_screenshot-1024x569.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_settings_screenshot-300x167.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_settings_screenshot-768x427.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_settings_screenshot-1536x853.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_settings_screenshot.png 1732w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Challenges<\/h3>\n\n\n\n<p>Given the complexity of the manual renewal process, automating this task was quite a technical challenge, involving several nested for loops iterating over RPA servers\/services, and deploying public\/private keys to ensure that each relationship is unique:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a4a11bd&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a4a11bd\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"459\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot4-1024x459.png\" alt=\"\" class=\"wp-image-368\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot4-1024x459.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot4-300x134.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot4-768x344.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot4-1536x688.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_code_screenshot4.png 1605w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>I also faced a challenge where a certificate could only be deployed via a front-end GUI, meaning that automating this would be difficult without developing an RPA robot for this task. More specifically, I found that the Desktop Automation Service hashes a password against a certificate using an unknown algorithm, meaning that settings had to be manually saved again so that the password was re-hashed by the service itself. To work around this, I used the Microsoft UI Automation library to automate the GUI of a local instance of the Desktop Automation Service, then copied the local files containing the new password hash onto the appropriate server:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e5a8a4a1749&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e5a8a4a1749\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_UIAutomation_screenshot_redacted-1024x564.png\" alt=\"\" class=\"wp-image-360\" srcset=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_UIAutomation_screenshot_redacted-1024x564.png 1024w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_UIAutomation_screenshot_redacted-300x165.png 300w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_UIAutomation_screenshot_redacted-768x423.png 768w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_UIAutomation_screenshot_redacted-1536x846.png 1536w, https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/RPADACertificateRenewal_UIAutomation_screenshot_redacted.png 1904w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This program automates a complex certificate renewal process in the Kofax RPA system, reducing human error and saving many hours of downtime. Problem While Kofax RPA does use certificates for various connections between servers, these certificates are not unique to us as a customer, so we considered this a security risk. To mitigate this risk, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":325,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"categories":[29],"tags":[16,15,20,22,32,12,13,35],"class_list":["post-321","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rpa","tag-net","tag-c","tag-java","tag-json","tag-openssl","tag-rpa","tag-system-architecture","tag-ui-automation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RPADACertificateRenewal - Kylie Wilson&#039;s Portfolio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RPADACertificateRenewal - Kylie Wilson&#039;s Portfolio\" \/>\n<meta property=\"og:description\" content=\"This program automates a complex certificate renewal process in the Kofax RPA system, reducing human error and saving many hours of downtime. Problem While Kofax RPA does use certificates for various connections between servers, these certificates are not unique to us as a customer, so we considered this a security risk. To mitigate this risk, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\" \/>\n<meta property=\"og:site_name\" content=\"Kylie Wilson&#039;s Portfolio\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-19T11:53:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-30T19:25:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Kylie\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kylie\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\"},\"author\":{\"name\":\"Kylie\",\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\"},\"headline\":\"RPADACertificateRenewal\",\"datePublished\":\"2024-02-19T11:53:00+00:00\",\"dateModified\":\"2024-05-30T19:25:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\"},\"wordCount\":362,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\"},\"image\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp\",\"keywords\":[\".NET\",\"C#\",\"Java\",\"JSON\",\"OpenSSL\",\"RPA\",\"System Architecture\",\"UI Automation\"],\"articleSection\":[\"RPA\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\",\"url\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\",\"name\":\"RPADACertificateRenewal - Kylie Wilson&#039;s Portfolio\",\"isPartOf\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp\",\"datePublished\":\"2024-02-19T11:53:00+00:00\",\"dateModified\":\"2024-05-30T19:25:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage\",\"url\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp\",\"contentUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kyliewilson.co.uk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RPADACertificateRenewal\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kyliewilson.co.uk\/#website\",\"url\":\"https:\/\/kyliewilson.co.uk\/\",\"name\":\"Kylie Wilson's Portfolio\",\"description\":\"I\u2019m a software engineer with 14 years of professional experience, working with a wide range of technologies in an NHS hospital trust. I have always had a passion for computing, and since a very young age I knew that this is what I wanted to do. Outside of work, I can often be found experimenting with different technologies, and I am always sharpening my skills with personal projects.\",\"publisher\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kyliewilson.co.uk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0\",\"name\":\"Kylie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png\",\"contentUrl\":\"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png\",\"width\":999,\"height\":999,\"caption\":\"Kylie\"},\"logo\":{\"@id\":\"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/kyliewilson.co.uk\"],\"url\":\"https:\/\/kyliewilson.co.uk\/index.php\/author\/kylie\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RPADACertificateRenewal - Kylie Wilson&#039;s Portfolio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/","og_locale":"en_GB","og_type":"article","og_title":"RPADACertificateRenewal - Kylie Wilson&#039;s Portfolio","og_description":"This program automates a complex certificate renewal process in the Kofax RPA system, reducing human error and saving many hours of downtime. Problem While Kofax RPA does use certificates for various connections between servers, these certificates are not unique to us as a customer, so we considered this a security risk. To mitigate this risk, [&hellip;]","og_url":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/","og_site_name":"Kylie Wilson&#039;s Portfolio","article_published_time":"2024-02-19T11:53:00+00:00","article_modified_time":"2024-05-30T19:25:45+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp","type":"image\/webp"}],"author":"Kylie","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kylie","Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#article","isPartOf":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/"},"author":{"name":"Kylie","@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0"},"headline":"RPADACertificateRenewal","datePublished":"2024-02-19T11:53:00+00:00","dateModified":"2024-05-30T19:25:45+00:00","mainEntityOfPage":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/"},"wordCount":362,"commentCount":0,"publisher":{"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0"},"image":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage"},"thumbnailUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp","keywords":[".NET","C#","Java","JSON","OpenSSL","RPA","System Architecture","UI Automation"],"articleSection":["RPA"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/","url":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/","name":"RPADACertificateRenewal - Kylie Wilson&#039;s Portfolio","isPartOf":{"@id":"https:\/\/kyliewilson.co.uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage"},"image":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage"},"thumbnailUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp","datePublished":"2024-02-19T11:53:00+00:00","dateModified":"2024-05-30T19:25:45+00:00","breadcrumb":{"@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#primaryimage","url":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp","contentUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/kyliewilson.co.uk\/index.php\/2024\/02\/19\/rpadacertificaterenewal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kyliewilson.co.uk\/"},{"@type":"ListItem","position":2,"name":"RPADACertificateRenewal"}]},{"@type":"WebSite","@id":"https:\/\/kyliewilson.co.uk\/#website","url":"https:\/\/kyliewilson.co.uk\/","name":"Kylie Wilson's Portfolio","description":"I\u2019m a software engineer with 14 years of professional experience, working with a wide range of technologies in an NHS hospital trust. I have always had a passion for computing, and since a very young age I knew that this is what I wanted to do. Outside of work, I can often be found experimenting with different technologies, and I am always sharpening my skills with personal projects.","publisher":{"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kyliewilson.co.uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/f20d5b4b418e4698e4b5d6aef8abddc0","name":"Kylie","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/","url":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png","contentUrl":"https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/05\/cropped-cropped-selfie_transparent2_cropped-1.png","width":999,"height":999,"caption":"Kylie"},"logo":{"@id":"https:\/\/kyliewilson.co.uk\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/kyliewilson.co.uk"],"url":"https:\/\/kyliewilson.co.uk\/index.php\/author\/kylie\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp",1024,1024,false],"thumbnail":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo-150x150.webp",150,150,true],"medium":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo-300x300.webp",300,300,true],"medium_large":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo-768x768.webp",768,768,true],"large":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp",1024,1024,false],"1536x1536":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp",1024,1024,false],"2048x2048":["https:\/\/kyliewilson.co.uk\/wp-content\/uploads\/2024\/02\/RPADACertificateRenewal_Logo.webp",1024,1024,false]},"uagb_author_info":{"display_name":"Kylie","author_link":"https:\/\/kyliewilson.co.uk\/index.php\/author\/kylie\/"},"uagb_comment_info":7,"uagb_excerpt":"This program automates a complex certificate renewal process in the Kofax RPA system, reducing human error and saving many hours of downtime. Problem While Kofax RPA does use certificates for various connections between servers, these certificates are not unique to us as a customer, so we considered this a security risk. To mitigate this risk,&hellip;","_links":{"self":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=321"}],"version-history":[{"count":21,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/321\/revisions"}],"predecessor-version":[{"id":393,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/321\/revisions\/393"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/media\/325"}],"wp:attachment":[{"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kyliewilson.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}