diff --git a/authority/linkedca.go b/authority/linkedca.go index 0552f2d1..9daba353 100644 --- a/authority/linkedca.go +++ b/authority/linkedca.go @@ -292,11 +292,22 @@ func (c *linkedCaClient) StoreRenewedCertificate(parent *x509.Certificate, fullc return errors.Wrap(err, "error posting certificate") } -func (c *linkedCaClient) StoreSSHCertificate(crt *ssh.Certificate) error { +func (c *linkedCaClient) StoreSSHCertificate(prov provisioner.Interface, crt *ssh.Certificate) error { ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) defer cancel() _, err := c.client.PostSSHCertificate(ctx, &linkedca.SSHCertificateRequest{ Certificate: string(ssh.MarshalAuthorizedKey(crt)), + Provisioner: createProvisionerIdentity(prov), + }) + return errors.Wrap(err, "error posting ssh certificate") +} + +func (c *linkedCaClient) StoreRenewedSSHCertificate(parent, crt *ssh.Certificate) error { + ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) + defer cancel() + _, err := c.client.PostSSHCertificate(ctx, &linkedca.SSHCertificateRequest{ + Certificate: string(ssh.MarshalAuthorizedKey(crt)), + ParentCertificate: string(ssh.MarshalAuthorizedKey(parent)), }) return errors.Wrap(err, "error posting ssh certificate") }