If you do not want to generate a strong name for your assembly, it is valid for publicKey and keyPair to be nullNothingnullptra null reference (Nothing in Visual Basic), as long as flags does not equal TypeLibImporterFlags..::.PrimaryInteropAssembly. Otherwise, atleast one of these parameters must be specified. If publicKey is nullNothingnullptra null reference (Nothing in Visual Basic), the public key in keyPair will be set in the target assembly's manifest metadata and a signature will be generated based on the contents of the assembly. If keyPair is nullNothingnullptra null reference (Nothing in Visual Basic), publicKey will be set in the target assembly's manifest metadata and no signature will be generated. Specifying both parameters is not generally useful, and can result in an invalid signature.
For more information on ITypeLib, please see its existing documentation in the MSDN library.