ok, and so have you tried to create the zip file according to the requirements you have?
The requirement that "version need to extract must be 10, 20 or 45" - will just happen. Those are the only values that DotNEtZip will produce in a zip file.
The UTF-8 encoding of filesystem information will happen if you use UseUnicodeAsNecessary, and if the filenames actually need UTF-8. If the filenames can be encoded in IBM437 (~ASCII), then IBM437 will be used. Not sure if this is a problem for
your consumer of OEBPS OCF zip files, but it is in compliance with the zip spec and I would guess it would be no problem for whatever system is reading the zip file.
The file of name "mimetype" is easy to do - you must set CompressionMethod to 0 on the ZipEntry. It will not be encrypted if you don't set the Password property on the ZipEntry.
The InfoZip program can embed "Extra" fields in the zip file. DotNetZip does not do this.
So I think you should be able to create the zip file as you need.