workouttest_server/src/main/kotlin/com/aitrainer/api/ApiApplication.kt
2023-02-25 12:44:05 +01:00

49 lines
1.5 KiB
Kotlin

package com.aitrainer.api
import org.jasypt.encryption.StringEncryptor
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig
import org.slf4j.LoggerFactory
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.builder.SpringApplicationBuilder
import org.springframework.context.annotation.Bean
@SpringBootApplication
class ApiApplication {
@Bean(name = ["jasyptStringEncryptor"])
fun stringEncryptor(): StringEncryptor? {
val encryptor = PooledPBEStringEncryptor()
val config = SimpleStringPBEConfig()
config.password = "workouttest"
config.algorithm = "PBEWithMD5AndDES"
config.setKeyObtentionIterations("1000")
config.setPoolSize("1")
config.providerName = "SunJCE"
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator")
config.stringOutputType = "base64"
encryptor.setConfig(config)
return encryptor
}
}
private val logger = LoggerFactory.getLogger(ApiApplication::class.simpleName)
@Override
fun configure(application: SpringApplicationBuilder): SpringApplicationBuilder {
return application.sources(ApiApplication::class.java)
}
fun main(args: Array<String>) {
logger.info(" ---- Start aitrainer API")
val app = SpringApplication(ApiApplication::class.java)
app.setAdditionalProfiles("ssl")
app.run(*args)
}