inclavare-containers / rats-tls

RATS architecture based TLS using librats

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rats-tls integrated librats

houhuiting opened this issue · comments

librats目前将rats-tls的Crypto Wrapper实例,Enclave Attester实例, Enclave Verifier实例迁移过去,提供了两个api(librats_get_attestation_certificate和librats_verify_attestation_certificate)来生成和验证证书:

  • 对Tls Wrapper实例的use_privkey方法进行改造,使得其可以接受PEM格式的privkey
  • 对Tls Wrapper实例的use_cert方法进行改造,使其接受uint8_t格式(DER编码)的cert
  • 将librats的librats_get_attestation_certificate api集成到rats-tls的librats_get_attestation_certificate() api中
  • 对rats_tls_set_verification_callback api进行调整,使其设置的回调函数指针能传入到librats_verify_attestation_certificate中
  • 对verify_certificate进行改造,使用librats_verify_attestation_certificate来实现verify_certificate
  • 改造rats_tls_cleanup api,使其不再清理被迁移到librats的实例
  • 给librats每个api加param,提供一些自定义能力(包括实例选择类型、可以考虑将custom_claims等也放进去)
  • 在rats-tls中加入no_privkey参数,让用户可以决定是否使用用户自己提供的privkey。