x509証明書付きのSOAPメッセージを使用してiPhoneクライアントで作業しています。 そして、私はx509証明書(client.cert)を使ってメッセージに署名する方法を知らない。iOS - x509証明書でSOAPメッセージに署名する方法
opensslの使用に関するスレッドがありますが、私はopensslの使い方が分かりませんので、私はAppleのマニュアルを見ています:http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html 上記のドキュメントでは、ポリシー参照オブジェクトを取得して信頼を評価するサンプルコードがあります。
NSString *thePath = [[NSBundle mainBundle]
pathForResource:@"Romeo Montegue" ofType:@"cer"];
NSData *certData = [[NSData alloc]
initWithContentsOfFile:thePath];
CFDataRef myCertData = (CFDataRef)certData; // 1
SecCertificateRef myCert;
myCert = SecCertificateCreateWithData(NULL, myCertData); // 2
SecPolicyRef myPolicy = SecPolicyCreateBasicX509(); // 3
SecCertificateRef certArray[1] = { myCert };
CFArrayRef myCerts = CFArrayCreate(
NULL, (void *)certArray,
1, NULL);
SecTrustRef myTrust;
OSStatus status = SecTrustCreateWithCertificates(
myCerts,
myPolicy,
&myTrust); // 4
SecTrustResultType trustResult;
if (status == noErr) {
status = SecTrustEvaluate(myTrust, &trustResult); // 5
}
// 6
if (trustResult == kSecTrustResultRecoverableTrustFailure) {
...;
}
if (myPolicy)
CFRelease(myPolicy);
しかし、メッセージに署名するためにポリシーオブジェクトを使用するサンプルはありません。 手掛かりはありますか?もしあなたがこれに関するアイディアや経験があれば、私を助けてください。 本当にありがとうございます。
ありがとうございます。
ありがとうございましたbethlakshmi somuchそのような詳細な答えです。私はopenSSLとAxis2を試しています(これを使ってサーバーをサインしてください)。私はこれをさらに進めてくれることを願っています。 –
Axis 2をお試しの場合は、具体的にはRampartを掘り下げてください。SOAP署名とそれを設定するためのサンプルポリシーのいくつかの良い例があります。完璧ではありませんが、ランプパルトのホームページにはいくつかの出発点があります。 – bethlakshmi