esto es la suraguwiki el contenido, como puedes ver, deja mucho que desear para comentarios sobre los cosos aquí, puedes mandar un correo a diego arroba suragu punto net

Si eres un putísimo crack y quieres contribuir a esta wiki, pídeme una cuenta en el mismo correo de arriba

Generar certificados con acme-client

El únic programa con el que vale la pena interactuar con la API ACME de Let's Encrypt es acme-client de OpenBSD. Me resulta muchísimo mas faćil de gestionar ya a diferencia de certbot o similares, este usa un archivo de configuración para poner todos los dominios para los que quieras generar un certificado. Está escrito en C1) y al parecer solo está disponible en OpenBSD. Intentaré compilarlo para FreeBSD también. Pero vamos, que acme-client solo esté disponible en OpenBSD solo es una razón para poner OpenBSD en tu máquina que da a internet :3

Configuración básica

Necesitarás un dominio y una autoridad para usar, la autoridad en nuestro caso es Let's Encrypt. Hay un ejemplo de archivo de configuración en /etc/examples/acme-client.conf:

/etc/examples/acme-client.conf
  1. #
  2. # $OpenBSD: acme-client.conf,v 1.5 2023/05/10 07:34:57 tb Exp $
  3. #
  4. authority letsencrypt {
  5. api url "https://acme-v02.api.letsencrypt.org/directory"
  6. account key "/etc/acme/letsencrypt-privkey.pem"
  7. }
  8.  
  9. authority letsencrypt-staging {
  10. api url "https://acme-staging-v02.api.letsencrypt.org/directory"
  11. account key "/etc/acme/letsencrypt-staging-privkey.pem"
  12. }
  13.  
  14. domain example.com {
  15. alternative names { secure.example.com }
  16. domain key "/etc/ssl/private/example.com.key"
  17. domain full chain certificate "/etc/ssl/example.com.fullchain.pem"
  18. # Test with the staging server to avoid aggressive rate-limiting.
  19. #sign with letsencrypt-staging
  20. sign with letsencrypt
  21. }

Podemos copiarla a /etc/acme-client.conf. Os he señalado las líneas a cambiar.

Por ejemplo, aquí un archivo real:

/etc/acme-client.conf
#
# $OpenBSD: acme-client.conf,v 1.5 2023/05/10 07:34:57 tb Exp $
#
authority letsencrypt {
	api url "https://acme-v02.api.letsencrypt.org/directory"
	account key "/etc/acme/letsencrypt-privkey.pem"
}
 
authority letsencrypt-staging {
        api url "https://acme-staging-v02.api.letsencrypt.org/directory"
        account key "/etc/acme/letsencrypt-staging-privkey.pem"
}
 
 
domain mi.suragu.net {
	alternative names { "ss.suragu.net", "corsa.suragu.net", "booru.suragu.net", "wiki.suragu.net", "git.suragu.net" }
	domain key "/etc/ssl/private/suragu.net.key"
	domain full chain certificate "/etc/ssl/suragu.net.crt"
	# Test with the staging server to avoid aggressive rate-limiting.
#	sign with letsencrypt-staging
	sign with letsencrypt
}

Podemos quitar el comentario de letsencrypt-staging para probar que todo funciona.

Para generar los certificados usamos el comando acme-client <dominio> y se generaran en el directorio que los hemos específicado. Por ejemplo: acme-client mi.suragu.net


QR Code
QR Code openbsd:acme-client (generated for current page)