Submit Search
Upload
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
•
3 likes
•
2,173 views
Masayuki Nii
Follow
Cocoa勉強会#60 2013/7/6 Common Cryptoを使った共通鍵の暗号と復号 新居雅行
Read less
Read more
Technology
Report
Share
Report
Share
1 of 12
Download now
Download to read offline
Recommended
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
さくらインターネット株式会社
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
Jun Okumura
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
MITSUNARI Shigeo
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Kenji Urushima
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
MITSUNARI Shigeo
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
MITSUNARI Shigeo
CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!
inaz2
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村
Koichi Uchimura
Recommended
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
【さくらインターネット】簡単解説 SSLサーバ証明書とは?
さくらインターネット株式会社
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
Jun Okumura
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
MITSUNARI Shigeo
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Kenji Urushima
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
MITSUNARI Shigeo
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
MITSUNARI Shigeo
CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!
inaz2
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村
Koichi Uchimura
ブラウザで動く準同型暗号
ブラウザで動く準同型暗号
MITSUNARI Shigeo
俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ
Tsukasa Kato
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
Kenji Urushima
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Yuto Takei
Javascript で暗号化
Javascript で暗号化
suno88
クラウドに直結!ソラコムが提供する IoT向け通信プラットフォームのご紹介
クラウドに直結!ソラコムが提供する IoT向け通信プラットフォームのご紹介
SORACOM,INC
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
Lumin Hacker
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
Tatsuo Kudo
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
SORACOM,INC
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
Kenji Urushima
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
SORACOM,INC
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM,INC
Serverless x IoT = "IoT Scale" backend
Serverless x IoT = "IoT Scale" backend
Motokatsu Matsui
CloudTrail でログとれ〜る
CloudTrail でログとれ〜る
Hokuto Hoshi
ひよこさんのための
ひよこさんのための
cocoa_dahlia
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
拓将 平林
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」
Sen Ueno
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
WebSig24/7
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Masayuki Nii
トップエスイー勉強会2014第1回-INTER-Mediator
トップエスイー勉強会2014第1回-INTER-Mediator
Masayuki Nii
More Related Content
Similar to Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
ブラウザで動く準同型暗号
ブラウザで動く準同型暗号
MITSUNARI Shigeo
俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ
Tsukasa Kato
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
Kenji Urushima
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Yuto Takei
Javascript で暗号化
Javascript で暗号化
suno88
クラウドに直結!ソラコムが提供する IoT向け通信プラットフォームのご紹介
クラウドに直結!ソラコムが提供する IoT向け通信プラットフォームのご紹介
SORACOM,INC
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
Lumin Hacker
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
Tatsuo Kudo
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
SORACOM,INC
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
Kenji Urushima
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
SORACOM,INC
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM,INC
Serverless x IoT = "IoT Scale" backend
Serverless x IoT = "IoT Scale" backend
Motokatsu Matsui
CloudTrail でログとれ〜る
CloudTrail でログとれ〜る
Hokuto Hoshi
ひよこさんのための
ひよこさんのための
cocoa_dahlia
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
拓将 平林
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」
Sen Ueno
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
WebSig24/7
Similar to Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
(20)
ブラウザで動く準同型暗号
ブラウザで動く準同型暗号
俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
TLS, HTTP/2演習
TLS, HTTP/2演習
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Javascript で暗号化
Javascript で暗号化
クラウドに直結!ソラコムが提供する IoT向け通信プラットフォームのご紹介
クラウドに直結!ソラコムが提供する IoT向け通信プラットフォームのご紹介
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
API meet up #12資料:APIでコントロール可能なIoT通信プラットフォームSORACOM
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
Serverless x IoT = "IoT Scale" backend
Serverless x IoT = "IoT Scale" backend
CloudTrail でログとれ〜る
CloudTrail でログとれ〜る
ひよこさんのための
ひよこさんのための
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
More from Masayuki Nii
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Masayuki Nii
トップエスイー勉強会2014第1回-INTER-Mediator
トップエスイー勉強会2014第1回-INTER-Mediator
Masayuki Nii
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Masayuki Nii
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Masayuki Nii
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Masayuki Nii
Cocoa勉強会#23-カスタムシートとModality
Cocoa勉強会#23-カスタムシートとModality
Masayuki Nii
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使う
Masayuki Nii
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-Baseによるローカライズまとめ
Masayuki Nii
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Masayuki Nii
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Masayuki Nii
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Masayuki Nii
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Masayuki Nii
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会#27-QuickLookプラグインの作り方
Masayuki Nii
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Masayuki Nii
Cocoa勉強会#37-シェイクイベントの実装
Cocoa勉強会#37-シェイクイベントの実装
Masayuki Nii
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Masayuki Nii
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Masayuki Nii
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Masayuki Nii
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Masayuki Nii
More from Masayuki Nii
(20)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
トップエスイー勉強会2014第1回-INTER-Mediator
トップエスイー勉強会2014第1回-INTER-Mediator
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Cocoa勉強会#23-カスタムシートとModality
Cocoa勉強会#23-カスタムシートとModality
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会#37-シェイクイベントの実装
Cocoa勉強会#37-シェイクイベントの実装
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Recently uploaded
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Recently uploaded
(9)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
1.
Common Cryptoを使っ た共通 の暗号と復号 Masayuki
Nii nii@msyk.net Cocoa Study #60 July 6, 2013 13年7月5日金曜日 1
2.
Agenda OS X/iOSの暗号関連フレームワーク Common Cryptoを使う SecTransferを使う 13年7月5日金曜日 2
3.
Developer文書をひもとく Security Starting Point • • • 認証認可、暗号化、コードのセキュリティ Common
Cryptoについては、CC_crypto(3cc)のmanを参照 リンクすらなし。さらに、Mountain Lionはmanでも出てこない Security Overview • まあ、オーバービュー Cryptographic Services Guide • CDSA/CSSMはdeprecatedだよ、乱数なんてこの領域か! Security Transforms Programming Guide. • • • • 13年7月5日金曜日 CベースのAPI(つまりCore Foundationっぽい感じ) 暗号やBase64などのエンコード関連、署名などを簡単にできる 「トランスフォーム」をつなげてまとめて処理ができる Grand Central Dispatch対応! 3
4.
暗号や復号について OpenSSLが組み込まれている • • • EVT_*というC関数コールがあるが、deprecatedになっている サポートしている暗号化方式が古く、AESがどうもないみたい APIがコロコロ変わるのでサポートしたくないらしい Common Crypto • • • Leopard、iOS 5以降で利用可能 ローレベルのAPIを提供する つまり、SecTransformが上位層となる Cryptographic
Message Syntax Services • 13年7月5日金曜日 S/MIME向けとあるが、そんなに上位層な感じはしない 4
5.
Common Cryptoによる 暗号化と復号 13年7月5日金曜日 5
6.
Common CryptoのAPI 準備 • #include <CommonCrypto/CommonCryptor.h>、フレームワークは不要 初期化 • • CCCryptorCreate関数でCCCryptorRefを取得 このときにキーや初期化ベクタ、暗号化方式を指定 データ変換 • • CCCryptorUpdate関数を繰り返し呼び出す バッファを確保してうんぬん…なので、K&R
Cっぽく書くことに 後処理 • • 全データを処理後、CCCryptorFinalを呼び、残りを取り出す CCCryptorReleaseで、CCCryptorRef構造体を解放 要するに • • 13年7月5日金曜日 OpenSSLのEVT_*関連APIとほぼ同じ ブロッキング不要なら1コールで暗号復号可能 6
7.
情報はどこにあるのか? manはないけど、developerサイトにLionのmanがある 13年7月5日金曜日 7
8.
はまりどころ サンプルコード • • CryptoExerciseというのがDeveloperサイトにある SecKeyWrapperクラスのdoCipher:メソッド Apple以外のサイトでは • いくつかのブログや、StackOverflowを見ればサンプルはある はまったところ • • • 13年7月5日金曜日 なぜか、別スレッドで動いてくれない manではスレッドをまたがなければOKとはなっているが… パディングに気をつけよう 8
9.
SecTransferによる暗号復号 13年7月5日金曜日 9
10.
SecTransformの利用方法 準備 • フレームワークの追加、ヘッダ追加は必要なし 初期化 • • • SecKeyCreateFromDataで、キーのオブジェクトを作成 SecEncryptTransformCreateで、トランスフォームを準備 必要なら属性をSecTransformSetAttributeで追加設定 実行 • SecTransformExecuteを呼び出すだけ。非同期実行もある その他 • • 13年7月5日金曜日 複数のトランスフォームをつなげて処理ができる ファイル入力というトランスフォームもある 10
11.
すべてがバラ色ではない 用意されているトランスフォーム • • • • • • SecDecodeTransform.h SecDigestTransform.h SecEncodeTransform.h SecEncryptTransform.h SecSignVerifyTransform.h SecTransformReadTransform.h Lion以降、iOSは非対応 • iOSでサポートがあるのは、SecKeyEncrypt、 SecKeyDecryptな どの一部の関数のみ 出力するというトランスフォームがない • • 13年7月5日金曜日 ファイルの内容をそのまま暗号化してファイルに保存は無理? 自分でトランスフォームが書けるとは言え… 11
12.
まとめ CommonCrypto • ちょっと大変だが、ともかく使える SecTransfer • 13年7月5日金曜日 今後に期待 12
Download now