iOS にはSecKeyRawSign()
、パディング タイプを指定できる署名を生成するメソッドがあります。
OSStatus SecKeyRawSign (
SecKeyRef key,
SecPadding padding,
const uint8_t *dataToSign,
size_t dataToSignLen,
uint8_t *sig,
size_t *sigLen
);
/* Create the transform objects */
signer = SecSignTransformCreate(privatekey, &error);
if (error) { CFShow(error); exit(-1); }
SecTransformSetAttribute(
signer,
kSecTransformInputAttributeName,
sourceData,
&error);
if (error) { CFShow(error); exit(-1); }
signature = SecTransformExecute(signer, &error);
if (error) { CFShow(error); exit(-1); }
if (!signature) {
fprintf(stderr, "Signature is NULL!\n");
exit(-1);
}
ここにパディングを設定する方法はありますか? 可能であれば例を挙げてください。
Security Framework の iOS では、パディングを設定する
kSecPaddingPKCS1SHA256
ためのSHA256の定義があります。OSX には がないので、何を使用する必要がありますか? SHA256 のパディングを設定する必要があります。
ありがとう!