On Wed, Jan 29, 2014 at 1:21 AM, Uwe Seibt <[email protected]> wrote:
>
> Dear sirs,
>
> how is it possible to pass the APTCA Check test? Our Application is using
.NET Framework 2.0 and .NET Framework 3.5

I doubt you'll get a lot of feedback on this, as this is the "SQLite
mailing list" not the "Windows .NET Application Certification mailing
list", but I did befriend Google long enough to find the page at
http://msdn.microsoft.com/en-us/library/windows/apps/hh920280.aspx#binscope_1which
says:

> *AllowPartiallyTrustedCallersAttribute*
> *Windows App Certification Kit error message*: APTCACheck Test failed
> The AllowPartiallyTrustedCallersAttribute (APTCA) attribute enables
access to fully trusted code from partially trusted code in signed
assemblies. When you apply the APTCA attribute to an assembly, partially
trusted callers can access that assembly for the life of the assembly,
which can compromise security.
> *What to do if your app fails this test*
> Don't use the APTCA attribute on strong named assemblies unless your
project requires it and the risks are well understood. In cases where it's
required, make sure that all APIs are protected with appropriate code
access security demands. APTCA has no effect when the assembly is a part of
a Windows Store app.
> *Remarks*
> This test is performed only on managed code (C#, .NET, etc.).

I suspect (though I don't know because you did not say) that you received
extra information in your report that indicated that the SQLite .NET
assembly allows partially trusted callers. If that is the case, there are
three possibilities:

One, convince the maintainers to change it (which seems unlikely since it
is probably necessary, but I'll let them decide that);

Two, grab the project source and rebuild it yourself with whatever options
and configuration you need;

Three, take special note of the part under "what to do" that says to not
use that attribute on strong named assemblies "unless your project requires
it and the risks are well understood. In cases where it's required, make
sure that all APIs are protected with appropriate code access security
demands." My reading of this seems to indicate that this message is *not* a
show stopper for becoming Windows certified.

Given the nature of SQLite, designed to embed the ability to access SQL
databases, it seems to me that it is doing exactly what it needs to do
(especially given that the .NET assembly DLL is actually a hybrid interface
[if I understand correctly] that gives both the C# and C level APIs in a
single DLL).
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to