| 40 | |
| 41 | == SignatureCheck Plugin == |
| 42 | The SignatureCheck Plugin ensures that only signed plugins get loaded. |
| 43 | This is useful, if the plugin gets distributed over an unsecure channel, for example a server which is not under the control of the author. |
| 44 | |
| 45 | The plugin uses OpenPGP signatures generated by [https://docs.gradle.org/current/userguide/signing_plugin.html Gradles Signing Plugin]. |
| 46 | The signatures are compatible with the format required by the [http://central.sonatype.org/pages/requirements.html#sign-files-with-gpgpgp Maven Central Repository]. |
| 47 | |
| 48 | Signed Plugins can not be modified by untrusted third parties. |
| 49 | This makes it possible that the plugin can be stored on a server, which isn't in the control of the plugin author. |
| 50 | |
| 51 | Which authors are trustworthy can be decided by the user. |
| 52 | Only plugins from these authors will be loaded. |
| 53 | |
| 54 | Using only plugins, which are linked via a signature to trusted authors provides security advantages. |
| 55 | Unknown third parties can't disguise themself as trusted authors. |
| 56 | |
| 57 | == NetSigner Plugin == |
| 58 | Renews Net Drawings can contain Java code. |
| 59 | This code will be executed in simulations and can do changes to the computer on which the code runs. |
| 60 | There should be a straightforward way to know who wrote the Java code inside the Net, so a user can decide if they trust the author. |
| 61 | The NetSigner Plugin can provide this information. |
| 62 | |
| 63 | This plugin uses X.509 Certificates to check the identity of a user. |
| 64 | Every user who wants to sign a Net Drawing needs a X.509 a Code Signing Certificate or a personal E-Mail Certificate. |
| 65 | |
| 66 | Signed nets provide information about who signed it. |
| 67 | So a user can check that the file comes from the right author, even when the file was transmitted over an untrusted way (for example a file host website, an unencrypted E-Mail or any third person). |
| 68 | The verification of the identity comes from a trusted Certificate Authority (CA). |
| 69 | The author verified it's identity to the CA and the programm has a list of CAs that are trustworthy. |
| 70 | It is the same technology which is used by signed executables (executables or installers which show a Company name in the admin privilige Screen on Windows). |
| 71 | |
| 72 | It also protects the file from manipulation. |
| 73 | The signature contains a hash (checksum) over the Net. |
| 74 | So nobody can modify the Net without breaking the signature. |
| 75 | A storage or transmittion error can also be detected as manipulation, but cannot be fixed by this format. |