1. A method for generating a software module, the method comprising: providing an entity block to be included to the software module, the entity block providing an executable piece of software, generating a fingerprint of the entity block using a hash function, wherein the fingerprint allows the verification of the integrity of the entity block, encrypting the fingerprint using the private key of a public key pair, to thereby generate a digital signature of the entity block, combining the entity block and the encrypted fingerprint to form an integrity protected entity block, encrypting the integrity protected entity block using a random secret key to thereby form an encrypted and integrity protected entity block, encrypting the random secret key using the private key of a public key pair, and generating the software module by combining the encrypted and integrity protected entity block, and the encrypted random secret key.