error during execution of application using GpsPositionRequest class - symbian

i'm caught in a problem.
i'm developing an application based on lbs and referred the code given in (forum.nokia.com/wiki) GpsPositionRequest.zip
when i try to install the app on device it gets installed successfully but while executing it shows error "unable to execute for security reasons"..
i've signed the sis file using carbide C++.
my mmp file include the capabilities:
ReadDeviceData,
WriteDeviceData,
Location,
NetworkServices,
ReadUserData.
my class uses TPositionInfo,RPositionServer,RPositioner
does it need any other capability??
(i'm using carbide c++ and s60 3rd edition fp1)

Location is the capability you need.
What kind of signing key/cert are you using? Does it have the required capabilities?
Updated after comments: In 3rd edition FP1 the Location capability is a system capability that cannot be granted with a self-signed certificate. (It became a user capability that works with self-signed cert in Symbian OS 9.3 i.e. FP2.)

Related

Signing a "info.plist" on Mac OS X 10.9

I changed the info.plist file in Boot Camp package to make it support making USB installing drives on my Mac, but on Mac OS X Mavericks the app crashed before I signed the new file. I use the following code in terminal to sign it.
sudo codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app
After signing the code, the app ran successfully. The whole tutorial is here: Enable Bootcamp to install from usb for OSX 10.9
BUT I am wondering why I can sign the code so easily, without any formal certificate. I think code signature is a security feature. Only developers with certificates can sign their codes and distribute them, and Apple only allow these signed programs to run: About Code Signing I am a beginner on this topic; can someone explain the process a little bit? Does this means that hackers can sign whatever codes they want (maybe malicious ones) and run them AS LONG AS they get the password for root account?
Then I changed back to the original info.plist and wanted to remove the signature for the file that I created. How do I do this?
Thanks!
The reason is because you are signing the package with a local certificate. When Apple sign the package, it will run on any Mac, as their root certificate is trusted in the base OS.
If you transferred your locally signed package to another mac, you would find that it crashes, because it was signed with a certificate from another machine.
Hope this clears it up.

Windows 8 certification requirements: dynamically linking with the runtime

Our product consists in DLLs we ship to our customers.
When providing Windows 8 versions, I noticed I couldn't link against the CRT statically otherwise applications using our DLLs don't pass the certification.
I couldn't find any document that mentions that. Does someone know why it's not possible or how to make it happen?
Our product only makes use of malloc/free and math functions. It would be so much simpler to link against CRT statically instead of requiring every application that links against us to install the proper vc redist. (and ffs why aren't vc redists deployed through the Windows Update channel?)
Windows Store apps can only be built using VS 2012 and the current CRT. The key point is that static linking of the CRT is not supported for Windows Store apps.
Here is some more information about the CRT:
Windows Store Apps, the Windows Runtime, and the C Run-Time
http://msdn.microsoft.com/en-us/library/hh972425.aspx
Here are the list of UNSUPPORTED crt routines:
http://msdn.microsoft.com/en-us/library/hh674596.aspx
Rob Caplan writes here:
http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/0fa0695f-9828-46ac-985b-5ca15f3bee0a
"If your lib links to a Metro style app compliant C runtime you will be able to call standard C functions such as fopen. You can test against the App Cert Kit to confirm. Runtimes older than VC 2012 's will not work.
Your app will still be subject to the security sandbox and won't have access directories outside of its app data and package."

iOS - Prevent iPhone Configuration Profile from being deleted OR check to see if it's installed

I'm working on an iOS enterprise app that relies on an Configuration Profile being put on the phone. Unfortunately, the user can "cancel" this profile, which really screws with our app.
So I was wondering if a) is it possible to prevent a configuration profile from being deleted OR
b) is there a way to check to see if a configuration profile is installed already (say, at runtime, then we can just install it again if it's not there)?
If you want the configuration profile not to be tampered with / disabled by the user, this is possible! If you're using Apple Configurator to build your .mobileconfig file in the generals tab select security as never. Be aware: once the profile is installed on the device it cannot be reverted unless you restore the device
The long story short is there is no current documented way to even programmatically call / install a configuration profile (.mobileconfig) file onto the device: so if you're thinking about checking whether the profile exists and if not to install it, it's impossible (as for available documentation thus far) - if you do find a way let me know
Note:
.mobileconfig files can only run through Safari / Mail.
This similar SO discussion may help: Installing a configuration profile on iPhone - programmatically
It is possible to check is .mobileconfig is installed.
What you need to do is:
Create CA (certificate authority) and export it as .cer.
Issue certificate using created CA and export is as well as .cer.
Using Apple Configurator app add CA .cer in the certificates area.
Mobile configuration profile will have CA .cer.
Issued certificate (on step two) add to app bundle.
Using Security framework evaluate (SecTrustEvaluate) issued
certificate on step 2.

Installing unsigned x64 driver to work with libusbdotnet

I am currently in a Windows 7 dev. environment working to get a device to initialize with libusbdotnet.
The device (a USB mass storage device) connects and runs using the default USB-MASS Storage driver for Windows. I want to replace this driver with the one created by the .INF Wizard in libusbdotnet.
The operating system is a 64-bit, and by default the INF Wizard produces this driver, but I am unable to selected it because it is "unsigned" I believed, when I go to "Pick from a list of drivers" and point to the directory where the newly created device drivers are.
I have enabled "TEST MODE" using DESO but I'm still unable to select this file.
Anyone familiar with libusbdotnet, or directing devices to work with a specific driver that is unsigned in Window (do I need the .inf file? or the .sys???) do you have any advice about where I'm going wrong?
Thanks!
64-bit windows doesn't like unsigned drivers. You need to get a Software Publishing Certificate from MS (costs a few hundred $$$). Then you need to use inf2cat to make a security catalog out of your inf and sys files, then you sign them with signtool and your SPC. Then they will install on 64-bit Windows.
You can create your own self-signed certificate, without paying MS. However, the self-signed certs only work on your machine, and only work in Test Mode.

Is there way to find when self signed certificate will expire for Adobe Air application?

I have to release my Adobe Air application but the build process was "setup" by a different developer. (He made a self signed cert and wrote a batch file to call adt for packaging the application).
Adobe mentions that such self signed certificates are valid for 5 years.
Now I have no idea when that certificate will expire as I don't know when it was created.
Also will my installed application stop working on expiry or only new installations will fail ?
Thanks.
You are looking for the migrate commandline switch for adt. If and when the certificate expires you can update your air application to use a new certificate. Read more about updating AIR 1.5 applications here. I also suggest you take a look at this page (this is about upgrading AIR 1.1 applications -- just in case you are not on 1.5).
Only possible way is to check the time stamp on the certificate file.
Only new installations will fail after 5 years.