Thanks Hans,

I've tested Abdera's implementation against the endpoint and the signed
entries validate just fine.  Thanks for having that endpoint up and
running.

For what it's worth, here is how to send a signed ping using Abdera:

  // Initialize the keystore
  KeyStore ks = KeyStore.getInstance(keystoreType);
  InputStream in = Listing11.class.getResourceAsStream(keystoreFile);
  ks.load(in, keystorePass.toCharArray());
  PrivateKey signingKey =
    (PrivateKey) ks.getKey(
      privateKeyAlias,
      privateKeyPass.toCharArray());
  X509Certificate cert =
    (X509Certificate) ks.getCertificate(
      certificateAlias);

  // Create the entry to sign
  Abdera abdera = new Abdera();
  AbderaSecurity absec = new AbderaSecurity(abdera);
  Factory factory = abdera.getFactory();

  Entry entry = factory.newEntry();
  entry.setId("http://example.org/foo/entry";);
  entry.setUpdated(new java.util.Date());
  entry.setTitle("This is an entry");
  entry.setContentAsXhtml("This <b>is</b> <i>markup</i>");
  entry.addAuthor("James");
  entry.addLink("http://www.example.org";);

  // Prepare the digital signature options
  Signature sig = absec.getSignature();
  SignatureOptions options = sig.getDefaultSignatureOptions();
  options.setCertificate(cert);
  options.setSigningKey(signingKey);

  // Sign the entry
  entry = sig.sign(entry, options);

  // Send the ping
  Client client = new CommonsClient();
  RequestOptions opts = client.getDefaultRequestOptions();
  opts.setContentType("application/xml");
  BaseRequestEntity bre = new BaseRequestEntity(entry,false);
  ClientResponse response = client.post(
    "http://verisignlabs.com/tg/verify";, bre, opts);
  if (response.getStatus() == 200) {
    Document<Element> result = response.getDocument();
    writer.writeTo(result, System.out);
  }

- James

Granqvist, Hans wrote:
> James,
> 
> There is an interop service for Atom 1.0 feed/entry signature 
> validation available (with source code for both service and 
> Wordpress plugin) as part of the Signed Ping initiative at 
>   http://signedping.com
> 
> Let me know if you need more info.
> -Hans 
> 
>> -----Original Message-----
>> From: [EMAIL PROTECTED] 
>> [mailto:[EMAIL PROTECTED] On Behalf Of James M Snell
>> Sent: Monday, September 04, 2006 12:02 PM
>> To: atom-syntax
>> Subject: XML Digital Signatures in Atom feeds and entries
>>
>>
>> I'm currently looking for other Atom implementations that 
>> support the option to digitally sign feeds and entries.  
>> Apache Abdera supports digital signatures and encryption and 
>> I'd like to do some interop testing against other impls.
>>
>> - James
>>
>>
>>
> 

Reply via email to