問題タブ [seckeyref]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - AnyObject からのキャスト エラーですか? SecKeyRef に? スウィフトで
Swift ベースの PKI 実装の一部として、SecKeyWrapper.m を Swift に移植しました。
キーチェーン アクセス メソッドの両方 (Objective-C と Swift) は、Swift 実装の一部を除いて正常に動作しています。
ピアから公開鍵を base64 形式で受け取ります。これは NSData に変換され、次を使用してキーチェーンに保存されます。
ピア公開鍵をキーチェーンに正常に保存したら、それを SecKeyRef として取得する必要があります。
問題は、SecItemCopyMatching が AnyObject 型のオブジェクトを返すことです。SecKeyRef (またはエイリアスである SecKey) にキャストすることはできません
私が見つけた回避策は、peerKeyRef を NSObject としてキャストすることですか? 次に、Objective-C を使用して、次のように SecKey にブリッジします。
これを行う Objetive-C コードは次のとおりです。
この回避策を使用した SecKey へのキャストは正常に機能し (警告やエラーは発生せず)、期待どおりの結果が得られます。
AnyObject をキャストする Swift コードには何が欠けていると思いますか? SecKeyRef に?
Xcode 7.3.1 と Swift 2.2 で作業しています
Rgds....
objective-c - iOS10 での CFRelease クラッシュ
以下は、iOS 9 まで正常に動作していた私のコードです。
この方法は、iOS 9.x まで正常に機能していましたが、今日、XCode を 8 に更新し、iOS 10 デバイスで実行しました。アプリケーションが
CFRelease(publicKey)でクラッシュしています。
以下はクラッシュする前のコンソールからのログです。
Objective-C クラス情報を読み込めませんでした。これにより、利用可能な型情報の品質が大幅に低下します
問題を正確に取得できませんでした。
Zombie を有効にすると、クラッシュが再現されます。以下はコンソールからのログです。
*** -[Not A Type release]: 割り当て解除されたインスタンス 0x170225880 に送信されたメッセージ
前もって感謝します。
問題を取得しました。内部メソッド encodedData = [self encryptData:dataToEncrypt withKeyRef:publicKey]; があります。
SecKeyRef オブジェクトが解放されている場所。
しかし、これがiOS9までどのように機能したのだろうか???????
swift - Swift 2 の NSData から SecKeyRef へ
RSACryptor.swift で生成された公開鍵と秘密鍵のペアがあります。公開鍵を base64 文字列に変換してサーバーに保存できます。
他の iOS デバイスで公開鍵を取得し、それを使用してメッセージを暗号化したいと考えています。
base64 キーを NSData に変換できます
しかし、それを に変換する方法が見つからないSecKeyRefので、簡単に使用できます。
私が見つけた回答はObjectiv-Cにあり、時代遅れでした。
ご協力いただきありがとうございます !
ios - RSA 公開鍵の生成 - iOS でキー サイズの文字数が異なる
アプリケーションの要件に従って、サイズ 512 の RSA 公開鍵を作成する必要があります。同じために以下のコードを使用しています。
Android でも .net でも同じ機能を利用できます。他のすべてのプラットフォームで文字列の長さを数えると、スペースありで 181 文字、スペースなしで 174 文字です。
しかし、iOS では、スペースありで 153 文字、スペースなしで 146 文字しか取得できません。
コードに問題はありますか???? または、iOS の RSA の長さが異なりますか?
助けてください。前もって感謝します。
objective-c - 外部ライブラリを使用しない iOS および OSx での署名の検証 (-9809 OSStatus エラー)
SecKeyCreateWithData を使用して公開鍵を作成します。キーは、ヘッダーを削除した後、Pem から作成されます。
を使用して署名を検証しようとしました
- SecKeyRawVerify が -9809 エラーを返す (iOS)
- SecKeyVerifySignature が -67808 "RSA 署名の検証に失敗しました。一致しません" を返します (iOS)
- SecTransformExecute は false を返します。(OSx)
SHA256 および Unicode エンコーディングを使用してメッセージに署名します (C# RSACryptoProvider)。
公開鍵を作成するためのコード:
認証コード iOS:
検証コード OSx:
私は立ち往生しており、どんな助けもいただければ幸いです。
