MCPcopy Create free account
hub / github.com/apple/foundationdb / makeCertChainSpec

Function makeCertChainSpec

flow/MkCert.cpp:333–349  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

331}
332
333VectorRef<CertSpecRef> makeCertChainSpec(Arena& arena, unsigned length, ESide side) {
334 if (!length)
335 return {};
336 auto specs = new (arena) CertSpecRef[length];
337 auto const isServerSide = side == ESide::Server;
338 for (auto i = 0u; i < length; i++) {
339 auto kind = CertKind{};
340 if (i == 0u)
341 kind = isServerSide ? CertKind(Server{}) : CertKind(Client{});
342 else if (i == length - 1)
343 kind = isServerSide ? CertKind(ServerRootCA{}) : CertKind(ClientRootCA{});
344 else
345 kind = isServerSide ? CertKind(ServerIntermediateCA{ i }) : CertKind(ClientIntermediateCA{ i });
346 specs[i] = CertSpecRef::make(arena, kind);
347 }
348 return VectorRef<CertSpecRef>(specs, length);
349}
350
351CertChainRef makeCertChain(Arena& arena, unsigned length, ESide side) {
352 if (!length)

Callers 4

runTlsTestFunction · 0.85
makeChainMethod · 0.85
makeCertChainFunction · 0.85
makeCredsFunction · 0.85

Calls 1

CertKindClass · 0.85

Tested by 2

runTlsTestFunction · 0.68
makeCredsFunction · 0.68