Skip to content

Instantly share code, notes, and snippets.

View webhook-config.yaml
apiVersion: v1
kind: Config
clusters:
- name: logsentinel
cluster:
server: https://api.logsentinel.com/api/k8s/log?trailsApplicationId={applicationId}
# kubeconfig files require a context.
current-context: logsentinel-webhook
View DiskBackedArrayList.java
package com.yourproject.datastructures;
import java.io.*;
import java.util.*;
import java.util.function.Consumer;
/**
* Disk-backed array list
* @param <E> element type
*/
@Glamdring
Glamdring / ESBulkProcessor.java
Created Dec 2, 2019
ElasticSearch Bulk Processor
View ESBulkProcessor.java
/**
* A component that takes care of the bulking of elasticsearch indexing requests to accommodate near-real-time indexing
*
* It executes indexing requests when either a time limit or a size limit is reached.
* It avoids blocking the current thread that inserts the records to be indexed.
*/
@Component
public class ESBulkProcessor {
private static final Logger logger = LoggerFactory.getLogger(ESBulkProcessor.class);
@Glamdring
Glamdring / CassandraJSONToCQL.java
Created Nov 2, 2019
Convert Cassandra sstabledump JSON to CQL
View CassandraJSONToCQL.java
package com.logsentinel.util.db;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.logsentinel.util.db.dump.Cell;
import com.logsentinel.util.db.dump.Info;
import com.logsentinel.util.db.dump.Row;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
@Glamdring
Glamdring / CertificateTransparenceyVerification.java
Created Jan 13, 2019
Java class that allows automated certificate transparency checks
View CertificateTransparenceyVerification.java
package bg.bozho;
import java.io.FileInputStream;
import java.lang.reflect.Field;
import java.net.URL;
import java.security.KeyFactory;
import java.security.KeyStore;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Security;
@Glamdring
Glamdring / HerokuController.java
Last active Jan 29, 2019
Controller for integrating a SaaS with Heroku
View HerokuController.java
package com.yourapp.web.external;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.Maps;
import com.yourapp.dto.UserDetails;
import com.yourapp.dto.UserRegistrationRequest;
import com.yourapp.entities.Application;
import com.yourapp.entities.Organization;
import com.yourapp.enums.IntegratedCloudProvider;
import com.yourapp.enums.SubscriptionPlanCode;
View eur-lex.csv
Year Regulations Amending regulations Council regulations Council amending regulations Commission regulations Commission amending regulations Directives Amending directives Council directives Council amending directives Commission directives Commission amending directives
1990 0 0 268 137 779 334 0 0 53 18 6 18
1991 0 0 217 119 716 410 0 0 41 27 9 26
1992 0 0 238 140 755 382 0 0 71 22 9 20
1993 0 0 211 110 633 427 0 0 43 21 24 28
1994 0 1 192 108 559 402 13 7 11 18 11 19
1995 0 0 151 115 427 425 7 3 14 14 12 22
1996 3 1 135 108 375 380 9 8 22 17 16 23
1997 1 0 137 97 331 431 11 12 7 14 11 24
1998 0 0 127 101 337 437 19 9 12 17 14 30
View WhitelabelResourceController.java
@Controller
@RequestMapping("/whitelabel-resources")
public class WhitelabelResourceController {
@Autowired
private WhitelabelService whitelabelService;
@GetMapping("/logo.png")
private ResponseEntity getLogo(@AuthenticationPrincipal LoginAuthenticationToken token,
@RequestParam(name = "key", required = false) String key) {
View LocalTSA.java
@Service
public class TimestampService {
private static final Logger logger = LoggerFactory.getLogger(TimestampService.class);
public static final AlgorithmIdentifier sha512oid = getSha512Oid();
private SecureRandom random = new SecureRandom();
@Value("${timestamp.keystore.path}")
private Resource keystorePath;
@Glamdring
Glamdring / TimestampValidationService.java
Created Dec 17, 2017
Validating trusted timestamps
View TimestampValidationService.java
public class TimestampValidationService {
public boolean validate(String hash, String encodedTimestampToken) {
try {
byte[] tokenBytes = Base64.getDecoder().decode(encodedTimestampToken);
CMSSignedData signedData = new CMSSignedData(tokenBytes);
TimeStampToken token = new TimeStampToken(signedData);
Optional<X509CertificateHolder> certHolder = getCertificateHolder(signedData);
BcRSASignerInfoVerifierBuilder verifierBuilder = new BcRSASignerInfoVerifierBuilder(
new DefaultCMSSignatureAlgorithmNameGenerator(),
You can’t perform that action at this time.