Certificate Password Recovery Tool


In a previous article I mentioned that I'd be Open sourcing a Password recovery app that I had put together to help me remember by Blackberry Codesigning Certificate password. This post is the "Homepage" for the utility and will describe what it is and how to use it.

Read on for details (Download link is at the bottom of the page)

 


Recovering the password to my Blackberry code signing certificate


Have you or a loved one lost a.p12 / .pfx / blackberry code signing password? Read on for details on how I was able to recover my password...

 

Update: I have posted an article about the Certificate Password Recovery Tool. The source is available under an MIT license.

 


Develop Playbook applications using WebWorks Tablet OS SDK + Ripple (Part 3)


When submitting apps to the Blackberry App World you need to make sure they are signed. The Submission page will let you upload an unsigned app which will cause problems when you try to upload a signed version later on. It is important to note that an app will not be accepted if it is not signed.

I learned this the hard way after I submitted an unsigned version of my RegexRaptor app.

This article aims to explain how to:

  1. Obtain a code signing certificate from RIM
  2. Configure code-signing on your development machine (Windows)
  3. Package and sign your app
  4. A few notes on the app submission process

Articles One and Two are available for additional reference


Develop Playbook applications using WebWorks Tablet OS SDK + Ripple (Part 2)


In a previous article I explained how to get up and running using the Blackberry WebWorks SDK. Today I'd like to document what I did to get my first Playbook app (A regexraptor.net client) in a state ready for submission.

I'll cover:

  • Porting an HTML/CSS/Javascript app
  • Implementing a splash-screen and icon
  • Building a .bar file using the Ripple Emulator

IMPORTANT NOTE: Do not submit an unsigned app to the Blackberry App world. This will cause you problems when you want to submit a signed version later on. The App World does not accept unsigned applications.

Update: Article #3 shows how to sign your webworks app.

Update 2: I've added a 4th section to this article detailing how to debug your app on the Playbook Simulator (VMDK)

 


Develop Playbook applications using WebWorks Tablet OS SDK + Ripple


RIM is offering a Free Playbook (official page located here) to anyone who develops and submits an Playbook app before the 13th of February.Looks like you can use any tool (Web SDK, AIR, Android port).

It took me an hour or so to get the development environment setup. This article aims to simplify the process of setting up a Playbook Development environment

 

When finished here, see Part 2 which covers how to port an HTML / Javascript / CSS app to the Playbook and build it using the Ripple emulator.


Troubleshooting with truss (HPUX) Part 2: The answer


We finally found the root cause of our IPv6 issue. Our build machine was not building IPv6 support into the binary. APR_HAVE_IPV6 is set to 0 where every other platform we build on is set to 1. We found this by examining the source code (didn't need to build a test-app).

Here are the options we have to solve the problem:

  • Install IPv6 on the build machine (Requires purchasing an HP support contract)
  • Move the build box to another PA-RISC system running 11.23
  • Check with our customers: do they want IPv6 support on the oldest 11i release for PA?

Going through the truss exercise was a good experience. I'll be able to leverage it in future troubleshooting scenarios.

Previous: Troubleshooting with truss (HPUX) Part 1: Get Setup


Get putty to play nice with HPUX


As you may have been able to tell, I've had to work with HP-UX systems for the last week or so. While it has been a learning experience I would still choose Linux as my *NIX of choice.

One thing that was particularly bothersome when working with HPUX: ssh sessions don't behave as expected. When I press the backspace key all I see on-screen is a ^? (Control-?):

0ExampleOfBadBackspace.png

Fortunately it is a relatively straight-forward process to correct this when using putty client on Windows systems.


Troubleshooting with truss (HPUX) Part 1: Get Setup


Today marks the first time I've had to use truss (like strace but for HP UX) to troubleshoot a mis-behaving executable. We're trying to certify our products on IPv6 and have run into some difficulty on HP-UX 11.23 (11i v2). Our software product uses APR (Apache Portable Runtime) and works fine over IPv4. While the code exists for IPv6, it gives us the following errors when we try to use a proper IPv6 address:

  • Connect to "fe80::3143:ad80:b056:d705" failed; address family for host not supported.
  • address family for host not supported, attempting to retry.

When we append the network interface to the end of address (like some documentation suggests) we see slightly different messages:

  • Connect to "fe80::3143:ad80:b056:d705%lan0" failed; host nor service provided, or not known.
  • host nor service provided, or not known, attempting to retry.

To help root-cause the issue, we've turned to the truss utility (trace system calls and signals). This article describes a scenario where truss was used in troubleshooting. This is the first time I've used the utility and I look forward to learning more.

Next: Troubleshooting with truss (HPUX) Part 2: The answer


IPv6 on HP UX 11.11 (11i v1)


We've got an old HP j6700 workstation floating around (HPUX 11.11) that we'd like to enable IPv6 on. With that goal I returned to the HP support site to download the applicable patches (11.11 lacks IPv6 support out of the box) and quickly ran into trouble...

 


How to enable IPv6 on HP-UX PPA 11.23 (11i v2)


Coming from a Linux background, it wasn't immediately apparent how to enable IPv6 on HP Unix machines. Searching the HP website for answers is like navigating the 7 circles of hell.

This article aims to describe the steps you need to take to get IPv6 enabled on HPUX 11i v2

Note: These steps may not work for 11i v1 as you need to install the IPv6 component.