« 2010年6月 | メイン | 2011年3月 »

2011年2月

2011年2月 4日 (金)

KUNAI Browser β - Android でクライアント証明書を使う

Icon

モバイル・リモートチームの米川です。

本日、KUNAI Browser for Remote Service β を公開しました。
Android 端末からサイボウズ リモートサービスを使用してサイボウズ製品を閲覧するためのブラウザアプリケーションです。
こちらからダウンロードできます。

ご存知の方もいるかと思いますが、Android はブラウザからクライアント証明書による認証を行うことができません。
サイボウズのリモートサービスのクライアント証明書も例外ではなく、これによってAndroid ユーザーの方々は
リモートサービスを使って社内のグループウェアにアクセスすることができませんでした。
このクライアント証明書が使えない問題はどうやら Android の Known Issues みたいです。

そこでちょっと方針を変えて、クライアント証明書を読み込み、その証明書を参照して
リクエストを送る機能を持ったブラウザができれば問題が解決できると考えて作ってみました。

技術的なことがわかる方に向けてちょっと詳細を書くと、

  1. KeyStore にリモートサービスの証明書を load する
  2. KeyStore から SSLSocketFactory を作る
  3. Java の Reflection を使って WebView のプロパティに SSLSocketFactory を設定する
という方法で WebView の全てのリクエストで証明書を参照させることができました。

ところで Android OS 3.0(Honeycomb)ではクライアント証明書に対応するという噂があるらしいです。
もし標準ブラウザがちゃんとクライアント証明書に対応してくれればこのアプリもお役御免となりますが、
リモートサービスをお使いいただいている Android ユーザーの方々のお役に立てれば幸いです。

KUNAI Browser for Remote Service β はベータ版のため、
サポート対象外となりますので、あらかじめご了承ください。

Gr

2011年2月 3日 (木)

Cybozu Advance のXSS脆弱性を修正しました。

畑です。

公開早々ご迷惑をおかけしますが、Cybozu Advance にXSS脆弱性が見つかりましたので、改修いたしました。v1.0.0 をダウンロードされた方は、最新版(v1.0.1)を再度ダウンロードして頂ければと思います。

XSS脆弱性が存在していた箇所は具体的には以下の通りになります。

  • 予定の詳細表示画面
  • 予定の登録・変更画面
  • APIへのアクセス

APIアクセス先のサイボウズ Office 8 またはガルーン 3 自体のXSS脆弱性ではなく、Cybozu Advance 自体のXSS脆弱性となりますので、Cybozu Advance を最新版に更新することで問題は解消されます。

以上、ご迷惑をおかけしました。

2011年2月 2日 (水)

「Cybozu Advance - ドラッグ&ドロップ可能なスケジュール」をオンラインデモでお試し!

畑です。

昨日、Cybozu Advance - ドラッグ&ドロップ可能なスケジュール を紹介しましたが、サイボウズ Office 8 またはガルーン 3 がインストールされていない環境、もしくは、インストールされていてもサーバー管理者に頼まなくてはならない場合は、なかなか試すのが難しいかと思います。

そこで、ガルーン 3 のオンラインデモに対して、Cybozu Advance を試すことのできる環境を用意しました。

入口はこちらになります。

sato / suzuki / matsuda / tanaka / brown / liu の中から選んでログインしてください。
※ログイン名・パスワードは同じ

サイボウズ 連携API JavaScript ライブラリ

畑です。

昨日、Cybozu Advance - ドラッグ&ドロップ可能なスケジュール を紹介しましたが、その中から、サイボウズの連携 API にアクセスする部分を JavaScript ライブラリとして切り出しました。

cybozu-connect として Google Code 上で公開しています(GPLv2)。API リファレンスも用意しました。

JavaScript の場合、Ajax で通信する際には、基本的にはクロスドメインの制限があります。この制限がある場合、API へのアクセスを実行するページは、アクセス先と同一のドメインに配置する必要があるのでご注意ください。

cybozu-connect についてもサポート対象外となりますので、あらかじめご了承ください。

2011年2月 1日 (火)

Cybozu Advance - ドラッグ&ドロップ可能なスケジュール

畑です。

久々に投稿します。

先日、サイボウズ Office 8 連携API が一般公開されました。そこで、このAPIをアクセスすることにより実現する、ドラッグ&ドロップ可能なスケジューラ―(Cybozu Advance)を試しに作ってみました。この連携APIは サイボウズ ガルーン 3 連携API と共通であるため、ガルーン 3 に対しても動作します。

Google Code にてオープンソース(GPLv2)で公開しています。詳しくは Cybozu Advance のサイトをご覧頂ければと思います。以下、多少解説したいと思います。

API を利用

API をアクセスすることにより実現しています。よって、今回実装した部分は主にユーザーインタフェース部分になります。対応するAPIは以下の通りです。

また、これらのAPIはSOAPであるため、それをラップするJavaScriptのクラスも作成しました。このクラスは再利用可能かと思います。

HTML と JavaScript のみで実装

今回 JavaScript のライブラリとして jQuery を使いました。個人的には jQuery を使うのは初めてでしたが、プラグインも多く、非常に便利でした。

ドラッグ&ドロップ

ドラッグ&ドロップによる予定の移動、および時間変更が実現したのですが、それを可能にしたのが FullCalendar という jQuery のプラグインです。ですので、カレンダーの表示について私がやった事というのは、API経由で予定情報を取得して、それを FullCalendar にのっけることだけだったりします。

なお、Cybozu Advanceサポート対象外となりますので、あらかじめご了承ください。

追記

Cybozu Advance をオンラインデモでお試しできる環境を用意しました。

sato / suzuki / matsuda / tanaka / brown / liu の中から選んでログインしてください。
※ログイン名・パスワードは同じ

Cybozuadvance_5