{"id":26641504,"url":"https://github.com/chanos-dev/tsa-dotnet","last_synced_at":"2025-03-24T18:29:05.823Z","repository":{"id":283507418,"uuid":"951281308","full_name":"chanos-dev/tsa-dotnet","owner":"chanos-dev","description":"Sample RFC 3161 (HTTP) TSA Server built using .NET Web API","archived":false,"fork":false,"pushed_at":"2025-03-20T15:22:35.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T16:30:43.301Z","etag":null,"topics":["dotnet-webapi","rfc3161","timestamp","tsa"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chanos-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-19T12:43:55.000Z","updated_at":"2025-03-20T15:22:38.000Z","dependencies_parsed_at":"2025-03-22T01:02:37.560Z","dependency_job_id":null,"html_url":"https://github.com/chanos-dev/tsa-dotnet","commit_stats":null,"previous_names":["chanos-dev/tsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanos-dev%2Ftsa-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanos-dev%2Ftsa-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanos-dev%2Ftsa-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanos-dev%2Ftsa-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chanos-dev","download_url":"https://codeload.github.com/chanos-dev/tsa-dotnet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245327643,"owners_count":20597260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet-webapi","rfc3161","timestamp","tsa"],"created_at":"2025-03-24T18:29:05.264Z","updated_at":"2025-03-24T18:29:05.811Z","avatar_url":"https://github.com/chanos-dev.png","language":"C#","readme":"## RFC 3161 TSA Sample .NET Web API\nThe timestamp request responds with a TSR based on a test certificate.  \nSince the certificate is not trusted, it should only be used for testing purposes.  \nWhen requesting tsa, it responds with a self-signed certificate.  \nWhen requesting tsa-rootca, it responds with a chain of trust certificate.  \n\n## Environment\n.NET 8, Visual Studio 2022\n\n## Self-Signed Certificate Setup\nTo use a self-signed certificate, you need the crt file and privateKey file in the assets folder.  \nThese files are provided by default, but if you want, you can generate the crt and privateKey files using OpenSSL, then copy them into the assets folder and configure the CertificateConfig in appsettings.json.\n\n## OpenSSL\n```\n# Generate private key\nopenssl genrsa -aes256 -out private.key 2048\n\n# Generate CSR\nopenssl req -new -key private.key -out request.csr\n\n# Generate CRT (rootCA)\nopenssl x509 -req -days 3650 -in request.csr -signkey private.key -out cert.crt\n\n# Generate TSQ\nopenssl ts -query -data test.txt -no_nonce -sha256 -cert -out test.tsq\n\n# TSA request\ncurl -X POST --data-binary @test.tsq -H \"Content-Type: application/timestamp-query\" https://localhost:7253/tsa-rootca -o test.tsr\n\n# Verify TSR\nopenssl ts -reply -in test.tsr -text\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanos-dev%2Ftsa-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchanos-dev%2Ftsa-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanos-dev%2Ftsa-dotnet/lists"}