From IBM Lotus Support: Security Certificate expiration in Lotus Domino on May 18th 2009

This note contains links (URLs) to technical support documents (technotes) related to an issue affecting IBM Lotus Domino customers. You are receiving this notification because you are a customer who has called us for technical support in the past. If you do not wish to receive notifications like this one on other topics in the future, please reply to this email and change the Subject field to: unsubscribe , e.g. unsubscribe user@company.domain. This is a special mailing separate from regular Frequently Asked Questions (FAQ) mailings to urgently provide information about this expiration situation.

What is happening

The certificate for some Java applets in Lotus Domino 6.5.x, Domino 7.0.x, Domino 8.0.x, and Domino 8.5 have an expiration date of May 18, 2009. Starting May 19th, Web users will see a dialog with a message similar to one of the following when loading a Web page that contains a Java applet from the Domino server:

“The digital signature was generated with a trusted certificate but has expired or is not yet valid.”

“The security certificate has expired or is not yet valid.”

This issue can occur even if IBM is set up as a trusted publisher in the browser.

What does this mean

Please be assured that this message does not mean security has been compromised. It simply reflects the expiration of the signature originally provided in the security certificate used with certain Domino applets. You can find an explanation in the following technote:

Title: “Security certificate expiration messages generated from Domino applets (May 18, 2009)”

URL: http://www.ibm.com/support/docview.wss?rs=899&uid=swg21381298

Action needed to resolve

To resolve the situation, you have three options: (1) Instruct users to “Always Trust” content from IBM, (2) if using Domino 7.x, upgrade to Domino 7.0.4, or (3) download and apply fixes. IBM recommends that you replace the affected Jar files (option 3) as described in the following download document for any supported release of Domino:

Title: “Download re-signed Java applets for Lotus Domino (May 18, 2009)”

URL: http://www.ibm.com/support/docview.wss?rs=899&uid=swg24022981

Alternatively, an interim fix will be posted to Fix Central for the latest Modification and Fix Pack levels by May 8th. These include Domino 6.5.6 FP3, 7.0.3 FP1, 7.0.4, 8.0.2 FP1, and 8.5.0. If you’re not running one of these releases, access the download document above, which provides fixes for all supported release levels.

General Self-Help Resources

Here are links to other ways that you can access IBM Lotus Notes & Domino self-help support information on the Web:

  1. My Support (http://www.ibm.com/software/support/einfo.html)
  2. Lotus Support is just a click away (http://www.ibm.com/software/lotus/support/clickaway/); learn more about Lotus Software Self-Assist Options.
  3. IBM Software Support Site design update (http://www.ibm.com/software/support/gcnews.html)
  4. New Lotus Notes Domino Wiki (http://www.lotus.com/ldd/dominowiki.nsf)
  5. Fix Central (http://www.ibm.com/support/fixcentral/)

Sincerely,

The IBM Lotus Notes & Domino Team

By popular demand – scaling images in Java for Lotus Connections

After blogging about how Lotus Connetions teaches you to scale images in Java the other day I was contacted by Lotus Support who really would like to see the code as customers were asking for such code. Mitch also forwarded me a response from Lotus Support where they referred to my blog post which I got a real kick out of… ๐Ÿ™‚

So here’s the code. Thanks to the customer for allowing me to blog the code. Use to your hearts content but don’t blame me if it doesn’t work for you. The disclaimer is there for a reason.

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOError;
import java.io.IOException;

import javax.imageio.ImageIO;

public class ScalePicture {

  public static void main(String[] args) {
    try {
      File f = new File("d:\images");
      File pictSrc = new File(f, "source_photo.jpg");
      File pictDest = new File(f, "destination_photo.jpg");
      if (pictDest.exists()) {
        System.out.println("deleting...");
        pictDest.delete();
      }

      // scale image
      BufferedImage img = scaleImage(pictSrc);

      // write to target image
      ImageIO.write(img, "jpg", pictDest);

    } catch (Throwable t) {
      t.printStackTrace();
    }
  }

  private static BufferedImage scaleImage(File source)
    throws IOException {
    // declarations
    final int width = 115;
    final int height = 115;

    // read source image
    BufferedImage imgSrc = ImageIO.read(source);

    // calculate scale factor
    double scaleFactor = (double)imgSrc.getWidth() /
      (double)width;

    // scale image
    BufferedImage imgScaled = new BufferedImage((int)
      (scaleFactor * 100), height,
      BufferedImage.TYPE_INT_RGB);
    AffineTransform transform = AffineTransform.
      getScaleInstance(scaleFactor, scaleFactor);
    Graphics2D g = imgScaled.createGraphics();
    g.drawRenderedImage(imgSrc, transform);
    g.dispose();

    // create new target image in correct size
    // with white background
    BufferedImage imgResized = new BufferedImage(width,
      height,
      BufferedImage.TYPE_INT_RGB);
    g = imgResized.createGraphics();
    g.setBackground(Color.WHITE);
    g.fillRect(0, 0, width, height);

    // calculate offset for scaled image on new image
    int xoffset = (int)((double)(width - imgScaled.getWidth()) /
      (double)2);

    // draw scaled image on new image
    g.drawImage(imgScaled, xoffset, 0, null);
    g.dispose();

    // return new image
    return imgResized;
  }

}

Allowing diagnostic data to be sent to IBM

What if the CRASH_SENDTOIBM notes.ini setting was set for all new Domino Server installations; imagine how much diagnostic information that IBM would gather that would make the product better for all of us? I know there are privacy concerns and test servers but still…

“When the Notes.INI setting CRASH_SENDTOIBM=1 is set on the server, no additional configuration is required. When the server restarts after a server crash, diagnostic information is collected and an email is sent to IBM.”

Technote 1321120: Allowing diagnostic data to be sent to IBM

Lotus Symphony in-depth product comparison white paper

Received this from a colleague today and thought I would shere. The link takes you into PartnerWorld so I guess you need an account for that to read the document. Although it says “share this paper with your prospects” I don’t know I may post an unprotected version.


Lotus Symphony in-depth product comparison white paper

This new white paper provides you and your customers with a broad, detailed comparison of Lotus Symphony 1.2, Microsoft Office 2003, 2007 and OpenOffice.org 3.0. Share this paper with your prospects so they see how Lotus Symphony is the obvious alternative to proprietary office productivity software. Available at no charge, Lotus Symphony is helping businesses control software acquisition and upgrade costs everywhere, supporting over 28 languages.

Lotus Symphony in-depth product comparison white paper

TwitNotes 1.0.10

Today I saw that suddenly TwitNotes wasn’t displaying any tweets. I could tweet and search from it just fine but the main timeline wasn’t displayed. I traced the issue to an error with the utc_offset handling in the Twitter JSON API I forked back when… I have now resolved the issue and placed a widget descriptor for TwitNotes 1.0.10 on the blog and corresponding features on the update site.

To update TwitNotes either

  • drag the widget descriptor onto your MyWidgets sidebar panel or
  • do an update installed features operation (those this solution is right for knows how)

I wish to thank those who kindly reminded me of this problem – nice to see people using it.