小编Igo*_*orD的帖子

SecCertificateAddToKeychain - 导入中的格式未知

函数 SecCertificateAddToKeychain() 为我创建的用于测试的证书提供了错误。

证书 - TestCert.p12:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
openssl pkcs12 -export -inkey key.pem -in cert.pem -out TestCert.p12
Run Code Online (Sandbox Code Playgroud)

代码:

NSData  *certData = [NSData dataWithContentsOfFile:path];
if (certData)  {
   SecCertificateRef  newCert = SecCertificateCreateWithData (NULL, (CFDataRef)certData);
   if (newCert)  {
      OSStatus  addResult = SecCertificateAddToKeychain (newCert, NULL);
      if (addResult)  {
         NSString  *errStr = SecCopyErrorMessageString (addResult, NULL);
         NSLog (@"Cannot add certificate to keychain: %@", errStr);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

输出:无法将证书添加到钥匙串:导入时格式未知。任何想法?

macos cocoa objective-c keychain x509

3
推荐指数
1
解决办法
5206
查看次数

正则表达式在C语言中失败,在线测试通过

当我在C中使用时,应正常工作的正则表达式会失败。

当我将此正则表达式粘贴到此处-https: //regex101.com并对其进行测试时,按预期,它看起来还不错。

//clang 3.8.0

#include  <stdio.h>
#include  <regex.h>

int main(void)
{
   char    *regPatt = regPatt = "^HR(\\d{2})$";
   regex_t  regex;
   short    retval = regcomp (&regex, regPatt, 0);
   short    status = regexec (&regex, "HR16", (size_t) 0, NULL, 0);

   printf ("%hd", status);

   regfree (&regex);
}
Run Code Online (Sandbox Code Playgroud)

因此,在线测试工作正常。

正则表达式-^ HR(\ d {2})$

弦-HR16

例如,在https://regex101.com上,一切都很好,我找到了一个匹配项。

在我的代码中,它失败了。用printf()打印的值是1(REG_NOMATCH)。

编辑-可以在此处粘贴代码以进行测试:https : //rextester.com/l/c_online_compiler_gcc

c regex

2
推荐指数
1
解决办法
68
查看次数

标签 统计

c ×1

cocoa ×1

keychain ×1

macos ×1

objective-c ×1

regex ×1

x509 ×1