# Sample Certificate and Keystore Files for Signing Modules

**URL:** <https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384>\
**Category:** Module Development\
**Tags:** perspective\
**Created:** [January 9, 2023, 5:56pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384 "2023-01-09T17:56:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jason\_Zhou](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Post date:** [January 9, 2023, 5:56pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/1 "2023-01-09T17:56:38Z")

</div>

I'm currently trying to learn how to develop modules, specifically custom perspective components. I've been referencing this project [ignition-sdk-examples/perspective-component at master · inductiveautomation/ignition-sdk-examples · GitHub](https://github.com/inductiveautomation/ignition-sdk-examples/tree/master/perspective-component) , with example perspective components. I want to see what they look like in the designer, but am stuck on actually building and signing the module. I've tried creating my own certificate and keystore files but have had no luck. Has anyone else successfully created their own files, or know where to find some sample files to use just for testing?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 9, 2023, 6:02pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/2 "2023-01-09T18:02:13Z")

</div>

You can just not sign your module for testing purposes; you will just need to run a test gateway with an "allow unsigned modules" flag.

For an example of a "modern" dev workflow for Ignition module development, you can crib from Ignition Extensions, which uses Github Actions to sign modules and has a docker-compose example for local development: [GitHub - IgnitionModuleDevelopmentCommunity/ignition-extensions](https://github.com/IgnitionModuleDevelopmentCommunity/ignition-extensions)

---

<div class="post-metadata">

**Author:** ![Jason\_Zhou](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Post date:** [January 9, 2023, 7:31pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/3 "2023-01-09T19:31:05Z")

</div>

Two followup questions:

1. Is there a setting or flag somewhere in the sample perspective component project that will allow me to build the unsigned module?

2. I'm doing testing on my local machine's gateway, is that fine? And if so, I'm not sure where the "allow unsigned modules" flag is.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 9, 2023, 7:34pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/4 "2023-01-09T19:34:31Z")

</div>

1: Set the `skipModlSigning` parameter in the `ignitionModule` block in your `build.gradle.kts`:

> <https://github.com/IgnitionModuleDevelopmentCommunity/ignition-extensions/blob/main/build.gradle.kts#L38>

2: [Gateway Configuration File Reference - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/Gateway+Configuration+File+Reference#GatewayConfigurationFileReference-LoadingUnsignedModules-%22DeveloperMode%22)

---

<div class="post-metadata">

**Author:** ![Jason\_Zhou](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Post date:** [January 9, 2023, 7:46pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/5 "2023-01-09T19:46:17Z")

</div>

Awesome that all worked out. Current block is now that I cannot install the unsigned module without being in developer mode. My local gateway is the free version, will I be allowed to entered developer mode somehow?

Edit: the exact error is: " **This module is not signed and will not load because you are not in developer mode.**"

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 9, 2023, 8:03pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/6 "2023-01-09T20:03:10Z")

</div>

Did you see my second link? [Gateway Configuration File Reference - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/Gateway+Configuration+File+Reference#GatewayConfigurationFileReference-LoadingUnsignedModules-%22DeveloperMode%22)  
You need to add a line to your `ignition.conf` to be allowed to load unsigned modules.

---

<div class="post-metadata">

**Author:** ![Jason\_Zhou](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Post date:** [January 9, 2023, 8:15pm UTC](https://forum.inductiveautomation.com/t/sample-certificate-and-keystore-files-for-signing-modules/68384/7 "2023-01-09T20:15:30Z")

</div>

My bad, I'd changed the .conf file but needed to restart my gateway to actually register the change. Thanks a lot for your help!
