Share via


CertStore_InstallRootCACertificate işlevi

Üst bilgi: #include <applibs/certstore.h>

PEM biçiminde bir ortak sertifikadan oluşan bir Kök CA sertifikası yükler ve sertifikaya bir kimlik atar. Kimlik daha sonra diğer işlevlerdeki sertifikaya başvurmak için kullanılabilir. Herhangi bir sertifika türü aynı kimlikle zaten yüklüyse, yeni sertifikayla değiştirilir.

int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
                                       size_t certBlobLength);

Parametre

  • identifier Sertifikanın kimliği.

  • certBlob GENEL sertifikayı PEM biçiminde içeren bir blob işaretçisi.

  • certBlobLength Null sonlandırıcı karakteri dahil değil, sertifika blobunun uzunluğu.

Hata

Hatayla karşılaşılırsa ve hata değerine ayarlanırsa errno -1 döndürür.

  • EACCES: Uygulama bildiriminde CertStore özelliği ayarlanmadığı için işleme izin verilmez.

  • EAGAIN: İşletim sistemi sertifika deposu bileşeni henüz hazır değil.

  • EFAULT: certBlob veya identifier NULL değeridir.

  • EINVAL: identifier parametresi NULL ile sonlandırılmamış veya certBlob geçersiz karakterler içeriyor.

  • ENOSPC: Bu sertifika için sertifika depolama alanında yeterli alan yok.

  • ERANGE: certBlobLength sıfır veya CERTSTORE_MAX_CERT_SIZE büyüktür.

Diğer errno hatalar da belirtilebilir; bu tür hatalar belirleyici değildir ve sistem güncelleştirmeleri aracılığıyla aynı davranışın korunacağının garantisi yoktur.

Dönüş değeri

Başarı için 0 veya hata için -1 döndürür; bu durumda errno hata değerine ayarlanır.

Açıklamalar

Geçerli tanımlayıcı, bir karakterden CERTSTORE_MAX_IDENTIFIER_LENGTH karakter uzunluğunda benzersiz bir dize olmalıdır. Aşağıdaki karakterler bir tanımlayıcıda geçerlidir:

  • 'A' - 'Z'
  • 'a' - 'z'
  • '0' - '9'
  • '.' veya '-' veya '_'

Dikkat

Sertifika kimlikleri sistem genelinde olduğundan, azsphere komutu veya yeni sertifika ekleyen bir işlev çağrısı, önceki bir komut veya işlev çağrısı tarafından eklenen bir sertifikanın üzerine yazabilir ve bu da ağ bağlantısı hatalarına neden olabilir. Net sertifika güncelleştirme yordamları geliştirmenizi ve sertifika kimliklerini dikkatle seçmenizi kesinlikle öneririz.

Azure Sphere'ın sertifika kimliklerini nasıl kullandığı hakkında daha fazla bilgi için bkz. Sertifika Kimlikleri.

Uygulama bildirimi gereksinimleri

Uygulama bildirimi CertStore özelliğini içermelidir.